From olfa.benrhaiem at gmail.com Sat Apr 5 03:24:20 2014 From: olfa.benrhaiem at gmail.com (OLFA BEN RHAIEM) Date: Sat, 5 Apr 2014 11:24:20 +0100 Subject: [ndnSIM] Video streaming over MANET using ndnSIM Message-ID: Hello; My goal is to evaluate video streaming over MANET using ndnSim. does ndnSim contains a module for Streaming video ? could you, help me by a simple example !! Pleqse, i need your advices Thank you very mush in advance -- Best Regards Ben Rhaiem OLFA, Phd Student at ENIS, IEEE Membership (+216) 26 153 192 --- -------------- next part -------------- An HTML attachment was scrubbed... URL: From drirawassim+ndnsim at gmail.com Tue Apr 8 04:23:57 2014 From: drirawassim+ndnsim at gmail.com (Wassim Drira) Date: Tue, 8 Apr 2014 14:23:57 +0300 Subject: [ndnSIM] issue using Simulator::Schedule Message-ID: Hi all, I am using WIFI to exchange NDNSim messages between nodes. As there are too many collisions and losses, I was trying to use Simulator::Schedule to delay sending responses between the different nodes. The problem is when I use Simulator::Schedule ( Seconds(0.05), &ClientResponse::SendResponse, this, interest); in all nodes, it works. But when double rand_v = round(fabs(m_random->GetValue())*1000)/1000; Time tNext(Seconds(rand_v)); Simulator::Schedule ( tNext, &ClientResponse::SendResponse, this, interest); the program generates this bug Program received signal SIGSEGV, Segmentation fault. 0x00007ffff3be4f22 in boost::intrusive::detail::bucket_traits_impl >::type>::bucket_count (this=0xd8) at /usr/include/boost/intrusive/detail/hashtable_node.hpp:123 123 { return buckets_len_; } backtrace result in the debugger are below. Thank you in advance. Wassim #0 0x00007ffff3be4f22 in boost::intrusive::detail::bucket_traits_impl >::type>::bucket_count (this=0xd8) at /usr/include/boost/intrusive/detail/hashtable_node.hpp:123 #1 0x00007ffff3d1508c in boost::intrusive::hashtable_impl >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::intrusive::unordered_set_member_hook, &ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, boost::hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to to continue, or q to quit--- n::ndnSIM::persistent_policy_traits> >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, unsigned long, boost::intrusive::detail::bucket_traits_impl >::type>, 3ul> >::priv_hash_to_bucket ( this=0xd0, hash_value=175247761919) at /usr/include/boost/intrusive/hashtable.hpp:2325 #2 0x00007ffff3d14d2d in boost::intrusive::hashtable_impl >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::intrusive::unordered_set_member_hook, &ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, boost::hash >, ns3::ndn::pit::EntryImpl to continue, or q to quit--- icy_traits> > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, unsigned long, boost::intrusive::detail::bucket_traits_impl >::type>, 3ul> >::priv_find_with_hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> > > (this=0xd0, key=..., equal_func=..., bucket_number=@0x7fffffffaba8: 140737283938013, h=175247761919, previt=...) at /usr/include/boost/intrusive/hashtable.hpp:2802 #3 0x00007ffff3d0d045 in boost::intrusive::hashtable_impl to continue, or q to quit--- ::EntryImpl >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::intrusive::unordered_set_member_hook, &ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, boost::hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, unsigned long, boost::intrusive::detail::bucket_traits_impl >::type>, 3ul> >::priv_find >---Type to continue, or q to quit--- , ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> > > (this=0xd0, key=..., hash_func=..., equal_func=..., bucket_number=@0x7fffffffaba8: 140737283938013, h=@0x7fffffffabb0: 175247761919, previt=...) at /usr/include/boost/intrusive/hashtable.hpp:2795 #4 0x00007ffff3d1510f in boost::intrusive::hashtable_impl >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::intrusive::unordered_set_member_hook, &ns3::ndn::n---Type to continue, or q to quit--- dnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, boost::hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, unsigned long, boost::intrusive::detail::bucket_traits_impl >::type>, 3ul> >::erase_and_dispose >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::hash >, ns3::ndn::pit::EntryImpl to continue, or q to quit--- n::pit::PitImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::trie_delete_disposer> (this=0xd0, key=..., hash_func=..., equal_func=..., disposer=...) at /usr/include/boost/intrusive/hashtable.hpp:1534 #5 0x00007ffff3d0d6ab in boost::intrusive::hashtable_impl >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::intrusive::unordered_set_member_hook, &ns3::ndn::ndnSIM::trie to continue, or q to quit--- _traits> >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, boost::hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, unsigned long, boost::intrusive::detail::bucket_traits_impl >::type>, 3ul> >::erase_and_dispose >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::trie_delete_disposer> (this=0xd0, value=..., disposer=...) at /usr/include/boost/intrusive/hashtable.hpp:1509 #6 0x00007ffff3d019d8 in boost::intrusive::unordered_set_impl to continue, or q to quit--- :pit::EntryImpl >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::intrusive::unordered_set_member_hook, &ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, boost::hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, unsigned long, boost::intrusive::detail::bucket_traits_impl >::type>, 3ul> >::erase_and_dispose to continue, or q to quit--- cy_traits> >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::trie_delete_disposer> (this=0xd0, value=..., disposer=...) at /usr/include/boost/intrusive/unordered_set.hpp:511 #7 0x00007ffff3cfaac5 in ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::prune (this=0x8ccb40) at ../src/ndnSIM/model/pit/../../utils/trie/trie.h:269 #8 0x00007ffff3cedd9a in ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::erase (this=0x8ccb40) at ../src/ndnSIM/model/pit/../../utils/trie/trie.h:254 #9 0x00007ffff3ce4720 in ns3::ndn::ndnSIM::trie_with_policy >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits>::erase (this=0x888ad0, node=0x8ccb40) at ../src/ndnSIM/model/pit/../../utils/trie/trie-with-policy.h:99 ---Type to continue, or q to quit--- #10 0x00007ffff3ccce85 in ns3::ndn::pit::PitImpl::MarkErased (this=0x888aa0, item=...) at ../src/ndnSIM/model/pit/ndn-pit-impl.h:390 #11 0x00007ffff3c92115 in ns3::ndn::ForwardingStrategy::SatisfyPendingInterest (this=0x888bf0, inFace=..., data=..., pitEntry=...) at ../src/ndnSIM/model/fw/ndn-forwarding-strategy.cc:386 -------------- next part -------------- An HTML attachment was scrubbed... URL: From ioannoa at scss.tcd.ie Tue Apr 8 07:29:45 2014 From: ioannoa at scss.tcd.ie (ioannoa at scss.tcd.ie) Date: Tue, 8 Apr 2014 15:29:45 +0100 Subject: [ndnSIM] object retransmission Message-ID: <2f3942e0e55060c65f8dce49c615f7cb.squirrel@webmail.scss.tcd.ie> Hello everyone, I've created a consumer that sends packets on objects continuously, i.e. the consumer chooses an object, it sends all the related packets and when is done it chooses an other object etc etc. My issue is that once i ma finishing over with the 1st object towards to the 2nd one, my code is keep on entering the below loop which is in the SendPacket function of the consumer. It then starts up normally again.. My questions are: 1. why is its stick in there since i am not calling any retransmission checking function as the regular consumer does. 2. is this gonna have an impact to the measurements, e.g. number of hits or misses of a cache etc. 3. could i avoid it somehow (what is causing it?) while (m_retxSeqs.size ()) { std::cout << "i am inside SendPacket function 4." << std::endl; seq = *m_retxSeqs.begin (); std::cout << "seq after SendPacket 4. " << seq << std::endl; m_retxSeqs.erase (m_retxSeqs.begin ()); // NS_ASSERT (m_seqLifetimes.find (seq) != m_seqLifetimes.end ()); // if (m_seqLifetimes.find (seq)->time <= Simulator::Now ()) // { // NS_LOG_DEBUG ("Expire " << seq); // m_seqLifetimes.erase (seq); // lifetime expired. Trying to find another unexpired sequence number // continue; // } NS_LOG_DEBUG("=interest seq "< Hi Alex, I'm working with Dr. Lan Wang from the University of Memphis about the forwarding hint solution. We noticed that your only implemented one Longest Prefix Match (LPM) function by interest, we have two questions here: 1. why don't just use a prefix for LPM, instead of an interest (In the function, actually you used just the interest name)? 2. You left a note in the function "@todo use predicate to search with exclude filters", what other fields of an interest and for what purpose will be used for FIB lookup? Could you show an example? In our opinion, LPM by the interest name is good enough for FIB lookup. Thanks, Yaoqing ________________________________________ Yaoqing Liu, Ph.D. Assistant Professor Computer Science Clarkson University Potsdam NY 13699 Office: Science Center 381 Phone: (315)-268-2374 Email: liu at clarkson.edu Web: http://people.clarkson.edu/~liu/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From ahmed.waliullah.kazi at gmail.com Thu Apr 10 08:12:24 2014 From: ahmed.waliullah.kazi at gmail.com (Wali) Date: Thu, 10 Apr 2014 10:12:24 -0500 Subject: [ndnSIM] FIB Size? Message-ID: Hello Alex, We are trying to get a handle on how to control the size of FIBs (finite and infinite sized FIBs). I found a somewhat relevant reply on the mailing list, but could not understand what do you mean when you are referring that FIBs are not dynamically updated and ones simulation is responsible in defining appropriate number of FIB entries. Does it mean that we have to somehow initialize and explicitly allocate space at compile time? What is the default size of FIBs, if we do not allocate explicit space for the,? I have attached the excerpt from your reply in an earlier message: ********************* On Mar 14, 2013, at 5:12 AM, Hovaidi Ardestani Mohammad > wrote: >* Hi everybody! *>* 1. I am going to formulate size of buffer memory for ndnSim routers. In topology we set them based on packets (I think size of every packet should be 1024). I am wondering if CS, FIB and PIT are included in this space or not. * Your reply: I'm not entirely sure what your question asks. You can set individual limits on CS and PIT sizes (in number of content objects). FIB is not updated dynamically, so your simulation is responsible in defining appropriate number of FIB entries. What do you mean "in topology we set..."? Are you referring to transmission queue sizes? If yes, this is totally independent of NDN or ndnSIM. ********************* Thank you very much. Best regards, Wali. -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Thu Apr 10 13:09:36 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Thu, 10 Apr 2014 13:09:36 -0700 Subject: [ndnSIM] FIB Size? In-Reply-To: References: Message-ID: <0732AAC1-FC94-4661-9DFA-9E61A4434F37@ucla.edu> Hi Wali, Sorry for the confusion. What I meant that usually FIB size is not an issue in the simulation scenario, since it is not an element that gets updated all the time. But, it doesn't mean you need to do any special allocations. In ndnSIM, FIB uses the same underlying data structure as CS and PIT, so you can use similar method to implement limits, but with the small caveat. If you open model/fib/ndn-fib-impl.h, you will see that I have hard-coded data structure policy to ndnSIM::counting_policy_traits, which does not enforce any limits. What you can do, you can change this to an appropriate FIB management policy (e.g., you have to figure out what to do when the limit is reached). To set limits, you will need to implement equivalent of SetMaxSize/GetMaxSize calls in CS implementation (you can can almost directly copy lines 263-275 of model/cs/content-store-impl.h (just remove irrelevant template parts). --- Alex On Apr 10, 2014, at 8:12 AM, Wali wrote: > Hello Alex, > > We are trying to get a handle on how to control the size of FIBs (finite and infinite sized FIBs). I found a somewhat relevant reply on the mailing list, but could not understand what do you mean when you are referring that FIBs are not dynamically updated and ones simulation is responsible in defining appropriate number of FIB entries. Does it mean that we have to somehow initialize and explicitly allocate space at compile time? What is the default size of FIBs, if we do not allocate explicit space for the,? > > I have attached the excerpt from your reply in an earlier message: > > ********************* > On Mar 14, 2013, at 5:12 AM, Hovaidi Ardestani Mohammad wrote: > Hi everybody! > 1. I am going to formulate size of buffer memory for ndnSim routers. In topology we set them based on packets (I think size of every packet should be 1024). I am wondering if CS, FIB and PIT are included in this space or not. > Your reply: I'm not entirely sure what your question asks. You can set individual limits on CS and PIT sizes (in number of content objects). FIB is not updated dynamically, so your simulation is responsible in defining appropriate number of FIB entries. What do you mean "in topology we set..."? Are you referring to transmission queue sizes? If yes, this is totally independent of NDN or ndnSIM. > ********************* > Thank you very much. > > Best regards, > Wali. > > _______________________________________________ > 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 alexander.afanasyev at ucla.edu Thu Apr 10 13:23:31 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Thu, 10 Apr 2014 13:23:31 -0700 Subject: [ndnSIM] issue using Simulator::Schedule In-Reply-To: References: Message-ID: Hi Wassim, I'm not sure I can help here. This looks like a problem during resizing (or accessing) buckets in the hash table, but I don't understand why it is segfaulting. Are you using multiple threads by any chance? Another possibility could with memory allocation (e.g., when there are too many of items to be inserted). --- Alex PS Why do you have such a complex way to se tNext? You could simply Time tNext(Seconds(rand_v.GetValue(0.01, 0.10)); // or some other range you need On Apr 8, 2014, at 4:23 AM, Wassim Drira wrote: > Hi all, > > I am using WIFI to exchange NDNSim messages between nodes. As there are too many collisions and losses, I was trying to use Simulator::Schedule to delay sending responses between the different nodes. > The problem is when I use Simulator::Schedule ( Seconds(0.05), &ClientResponse::SendResponse, this, interest); in all nodes, it works. But when > double rand_v = round(fabs(m_random->GetValue())*1000)/1000; > Time tNext(Seconds(rand_v)); > Simulator::Schedule ( tNext, &ClientResponse::SendResponse, this, interest); > > the program generates this bug > Program received signal SIGSEGV, Segmentation fault. > 0x00007ffff3be4f22 in boost::intrusive::detail::bucket_traits_impl >::type>::bucket_count (this=0xd8) > at /usr/include/boost/intrusive/detail/hashtable_node.hpp:123 > 123 { return buckets_len_; } > > backtrace result in the debugger are below. > > Thank you in advance. > Wassim > > #0 0x00007ffff3be4f22 in boost::intrusive::detail::bucket_traits_impl >::type>::bucket_count (this=0xd8) > at /usr/include/boost/intrusive/detail/hashtable_node.hpp:123 > #1 0x00007ffff3d1508c in boost::intrusive::hashtable_impl >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::intrusive::unordered_set_member_hook, &ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, boost::hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to to continue, or q to quit--- > n::ndnSIM::persistent_policy_traits> >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, unsigned long, boost::intrusive::detail::bucket_traits_impl >::type>, 3ul> >::priv_hash_to_bucket ( > this=0xd0, hash_value=175247761919) > at /usr/include/boost/intrusive/hashtable.hpp:2325 > #2 0x00007ffff3d14d2d in boost::intrusive::hashtable_impl >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::intrusive::unordered_set_member_hook, &ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, boost::hash >, ns3::ndn::pit::EntryImpl to continue, or q to quit--- > icy_traits> > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, unsigned long, boost::intrusive::detail::bucket_traits_impl >::type>, 3ul> >::priv_find_with_hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> > > (this=0xd0, key=..., > equal_func=..., bucket_number=@0x7fffffffaba8: 140737283938013, > h=175247761919, previt=...) > at /usr/include/boost/intrusive/hashtable.hpp:2802 > #3 0x00007ffff3d0d045 in boost::intrusive::hashtable_impl to continue, or q to quit--- > ::EntryImpl >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::intrusive::unordered_set_member_hook, &ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, boost::hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, unsigned long, boost::intrusive::detail::bucket_traits_impl >::type>, 3ul> >::priv_find >---Type to continue, or q to quit--- > , ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> > > (this=0xd0, key=..., hash_func=..., equal_func=..., > bucket_number=@0x7fffffffaba8: 140737283938013, > h=@0x7fffffffabb0: 175247761919, previt=...) > at /usr/include/boost/intrusive/hashtable.hpp:2795 > #4 0x00007ffff3d1510f in boost::intrusive::hashtable_impl >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::intrusive::unordered_set_member_hook, &ns3::ndn::n---Type to continue, or q to quit--- > dnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, boost::hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, unsigned long, boost::intrusive::detail::bucket_traits_impl >::type>, 3ul> >::erase_and_dispose >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::hash >, ns3::ndn::pit::EntryImpl to continue, or q to quit--- > n::pit::PitImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::trie_delete_disposer> (this=0xd0, > key=..., hash_func=..., equal_func=..., disposer=...) > at /usr/include/boost/intrusive/hashtable.hpp:1534 > #5 0x00007ffff3d0d6ab in boost::intrusive::hashtable_impl >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::intrusive::unordered_set_member_hook, &ns3::ndn::ndnSIM::trie to continue, or q to quit--- > _traits> >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, boost::hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, unsigned long, boost::intrusive::detail::bucket_traits_impl >::type>, 3ul> >::erase_and_dispose >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::trie_delete_disposer> (this=0xd0, value=..., disposer=...) > at /usr/include/boost/intrusive/hashtable.hpp:1509 > #6 0x00007ffff3d019d8 in boost::intrusive::unordered_set_impl to continue, or q to quit--- > :pit::EntryImpl >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::intrusive::unordered_set_member_hook, &ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, boost::hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, unsigned long, boost::intrusive::detail::bucket_traits_impl >::type>, 3ul> >::erase_and_dispose to continue, or q to quit--- > > cy_traits> >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::trie_delete_disposer> (this=0xd0, value=..., disposer=...) > at /usr/include/boost/intrusive/unordered_set.hpp:511 > #7 0x00007ffff3cfaac5 in ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::prune (this=0x8ccb40) > at ../src/ndnSIM/model/pit/../../utils/trie/trie.h:269 > #8 0x00007ffff3cedd9a in ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::erase (this=0x8ccb40) > > at ../src/ndnSIM/model/pit/../../utils/trie/trie.h:254 > #9 0x00007ffff3ce4720 in ns3::ndn::ndnSIM::trie_with_policy >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits>::erase (this=0x888ad0, > node=0x8ccb40) > at ../src/ndnSIM/model/pit/../../utils/trie/trie-with-policy.h:99 > ---Type to continue, or q to quit--- > #10 0x00007ffff3ccce85 in ns3::ndn::pit::PitImpl::MarkErased (this=0x888aa0, item=...) > at ../src/ndnSIM/model/pit/ndn-pit-impl.h:390 > #11 0x00007ffff3c92115 in ns3::ndn::ForwardingStrategy::SatisfyPendingInterest > (this=0x888bf0, inFace=..., data=..., pitEntry=...) > at ../src/ndnSIM/model/fw/ndn-forwarding-strategy.cc:386 > > _______________________________________________ > 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 ioannoa at scss.tcd.ie Thu Apr 10 13:44:43 2014 From: ioannoa at scss.tcd.ie (ioannoa at scss.tcd.ie) Date: Thu, 10 Apr 2014 21:44:43 +0100 Subject: [ndnSIM] ndnSIM Digest, Vol 17, Issue 1 In-Reply-To: References: Message-ID: > Send ndnSIM mailing list submissions to > ndnsim at lists.cs.ucla.edu > > To subscribe or unsubscribe via the World Wide Web, visit > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > or, via email, send a message with subject or body 'help' to > ndnsim-request at lists.cs.ucla.edu > > You can reach the person managing the list at > ndnsim-owner at lists.cs.ucla.edu > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of ndnSIM digest..." > > > Today's Topics: > > 1. Video streaming over MANET using ndnSIM (OLFA BEN RHAIEM) > 2. issue using Simulator::Schedule (Wassim Drira) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Sat, 5 Apr 2014 11:24:20 +0100 > From: OLFA BEN RHAIEM > To: ndnsim at lists.cs.ucla.edu > Subject: [ndnSIM] Video streaming over MANET using ndnSIM > Message-ID: > > Content-Type: text/plain; charset="iso-8859-1" > > Hello; > My goal is to evaluate video streaming over MANET using ndnSim. > does ndnSim contains a module for Streaming video ? > could you, help me by a simple example !! > Pleqse, i need your advices > Thank you very mush in advance > > -- > Best Regards > Ben Rhaiem OLFA, > Phd Student at ENIS, IEEE Membership > (+216) 26 153 192 > --- > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > > > ------------------------------ > Hello Wassim, Not quite sure if your error comes from there but maybe consider including the Seconds itself inside the Schedule function. It works fine for other classes and for mine as well: ns3::ExponentialVariable m_exp; double exponential = m_exp.GetValue(); m_sendEvent = Simulator::Schedule (Seconds (exponential), &ConsumerZMObject::SendPacket, this); That type of Schedule has been already used in ndn-consumer.cbr where they use uniform random variable as well. Maybe you donna check it and follow accordingly? Hope it helps! Kind regards, Andriana. > Message: 2 > Date: Tue, 8 Apr 2014 14:23:57 +0300 > From: Wassim Drira > To: ndnsim > Subject: [ndnSIM] issue using Simulator::Schedule > Message-ID: > > Content-Type: text/plain; charset="iso-8859-1" > > Hi all, > > I am using WIFI to exchange NDNSim messages between nodes. As there are > too > many collisions and losses, I was trying to use Simulator::Schedule to > delay sending responses between the different nodes. > The problem is when I use Simulator::Schedule ( Seconds(0.05), > &ClientResponse::SendResponse, this, interest); in all nodes, it works. > But > when > double rand_v = round(fabs(m_random->GetValue())*1000)/1000; > Time tNext(Seconds(rand_v)); > Simulator::Schedule ( tNext, &ClientResponse::SendResponse, this, > interest); > > the program generates this bug > Program received signal SIGSEGV, Segmentation fault. > 0x00007ffff3be4f22 in > boost::intrusive::detail::bucket_traits_impl >>::type>::bucket_count (this=0xd8) > at /usr/include/boost/intrusive/detail/hashtable_node.hpp:123 > 123 { return buckets_len_; } > > backtrace result in the debugger are below. > > Thank you in advance. > Wassim > > #0 0x00007ffff3be4f22 in > boost::intrusive::detail::bucket_traits_impl >>::type>::bucket_count (this=0xd8) > at /usr/include/boost/intrusive/detail/hashtable_node.hpp:123 > #1 0x00007ffff3d1508c in > boost::intrusive::hashtable_impl ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, > boost::intrusive::unordered_set_member_hook boost::intrusive::none, boost::intrusive::none, boost::intrusive::none>, > &ns3::ndn::ndnSIM::trie ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, > ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, > boost::hash ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > std::equal_to ns3::ndn::ndnSIM::smart_pointer_payload_traits to continue, or q to quit--- > n::ndnSIM::persistent_policy_traits> >, > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > unsigned long, > boost::intrusive::detail::bucket_traits_impl >>::type>, 3ul> >::priv_hash_to_bucket ( > this=0xd0, hash_value=175247761919) > at /usr/include/boost/intrusive/hashtable.hpp:2325 > #2 0x00007ffff3d14d2d in > boost::intrusive::hashtable_impl ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, > boost::intrusive::unordered_set_member_hook boost::intrusive::none, boost::intrusive::none, boost::intrusive::none>, > &ns3::ndn::ndnSIM::trie ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, > ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, > boost::hash ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl to continue, or q to quit--- > icy_traits> > >, > ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > std::equal_to ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > unsigned long, > boost::intrusive::detail::bucket_traits_impl >>::type>, 3ul> >>::priv_find_with_hash ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, > std::equal_to ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> > > > (this=0xd0, key=..., > equal_func=..., bucket_number=@0x7fffffffaba8: 140737283938013, > h=175247761919, previt=...) > at /usr/include/boost/intrusive/hashtable.hpp:2802 > #3 0x00007ffff3d0d045 in > boost::intrusive::hashtable_impl ns3::ndn::ndnSIM::smart_pointer_payload_traits to continue, or q to quit--- > ::EntryImpl >>, > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, > boost::intrusive::unordered_set_member_hook boost::intrusive::none, boost::intrusive::none, boost::intrusive::none>, > &ns3::ndn::ndnSIM::trie ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, > ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, > boost::hash ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > std::equal_to ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > unsigned long, > boost::intrusive::detail::bucket_traits_impl >>::type>, 3ul> >::priv_find ns3::ndn::ndnSIM::smart_pointer_payload_traits >>---Type to continue, or q to quit--- > , > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, > boost::hash ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > std::equal_to ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> > > > (this=0xd0, key=..., hash_func=..., equal_func=..., > bucket_number=@0x7fffffffaba8: 140737283938013, > h=@0x7fffffffabb0: 175247761919, previt=...) > at /usr/include/boost/intrusive/hashtable.hpp:2795 > #4 0x00007ffff3d1510f in > boost::intrusive::hashtable_impl ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, > boost::intrusive::unordered_set_member_hook boost::intrusive::none, boost::intrusive::none, boost::intrusive::none>, > &ns3::ndn::n---Type to continue, or q to quit--- > dnSIM::trie ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, > ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, > boost::hash ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > std::equal_to ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > unsigned long, > boost::intrusive::detail::bucket_traits_impl >>::type>, 3ul> >::erase_and_dispose ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, > boost::hash ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, ns3::ndn::pit::EntryImpl to continue, or q > to quit--- > n::pit::PitImpl > >, > ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > std::equal_to ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > ns3::ndn::ndnSIM::trie ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, > ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::trie_delete_disposer> > (this=0xd0, > key=..., hash_func=..., equal_func=..., disposer=...) > at /usr/include/boost/intrusive/hashtable.hpp:1534 > #5 0x00007ffff3d0d6ab in > boost::intrusive::hashtable_impl ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, > boost::intrusive::unordered_set_member_hook boost::intrusive::none, boost::intrusive::none, boost::intrusive::none>, > &ns3::ndn::ndnSIM::trie ns3::ndn::ndnSIM::smart_pointer_payload_traits to continue, or q to quit--- > _traits> >, > ns3::ndn::pit::EntryImpl >> >, > ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, > boost::hash ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > std::equal_to ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > unsigned long, > boost::intrusive::detail::bucket_traits_impl >>::type>, 3ul> >::erase_and_dispose ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, > ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::trie_delete_disposer> > (this=0xd0, value=..., disposer=...) > at /usr/include/boost/intrusive/hashtable.hpp:1509 > #6 0x00007ffff3d019d8 in > boost::intrusive::unordered_set_impl ns3::ndn::ndnSIM::smart_pointer_payload_traits > to > continue, or q to quit--- > :pit::EntryImpl >>, > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, > boost::intrusive::unordered_set_member_hook boost::intrusive::none, boost::intrusive::none, boost::intrusive::none>, > &ns3::ndn::ndnSIM::trie ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, > ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, > boost::hash ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > std::equal_to ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > unsigned long, > boost::intrusive::detail::bucket_traits_impl >>::type>, 3ul> >::erase_and_dispose ns3::ndn::ndnSIM::smart_pointer_payload_traits to continue, or q to quit--- > > cy_traits> >, > ns3::ndn::pit::EntryImpl >> >, > ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::trie_delete_disposer> > (this=0xd0, value=..., disposer=...) > at /usr/include/boost/intrusive/unordered_set.hpp:511 > #7 0x00007ffff3cfaac5 in ns3::ndn::ndnSIM::trie ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::prune > (this=0x8ccb40) > at ../src/ndnSIM/model/pit/../../utils/trie/trie.h:269 > #8 0x00007ffff3cedd9a in ns3::ndn::ndnSIM::trie ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::erase > (this=0x8ccb40) > > at ../src/ndnSIM/model/pit/../../utils/trie/trie.h:254 > #9 0x00007ffff3ce4720 in > ns3::ndn::ndnSIM::trie_with_policy ns3::ndn::ndnSIM::smart_pointer_payload_traits >>, > ns3::ndn::pit::EntryImpl >> >, ns3::ndn::ndnSIM::persistent_policy_traits>::erase (this=0x888ad0, > node=0x8ccb40) > at ../src/ndnSIM/model/pit/../../utils/trie/trie-with-policy.h:99 > ---Type to continue, or q to quit--- > #10 0x00007ffff3ccce85 in > ns3::ndn::pit::PitImpl::MarkErased > (this=0x888aa0, item=...) > at ../src/ndnSIM/model/pit/ndn-pit-impl.h:390 > #11 0x00007ffff3c92115 in > ns3::ndn::ForwardingStrategy::SatisfyPendingInterest > (this=0x888bf0, inFace=..., data=..., pitEntry=...) > at ../src/ndnSIM/model/fw/ndn-forwarding-strategy.cc:386 > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > > > ------------------------------ > > Subject: Digest Footer > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > > ------------------------------ > > End of ndnSIM Digest, Vol 17, Issue 1 > ************************************* > From ahmed.waliullah.kazi at gmail.com Thu Apr 10 14:01:23 2014 From: ahmed.waliullah.kazi at gmail.com (Wali) Date: Thu, 10 Apr 2014 16:01:23 -0500 Subject: [ndnSIM] FIB Size? In-Reply-To: <0732AAC1-FC94-4661-9DFA-9E61A4434F37@ucla.edu> References: <0732AAC1-FC94-4661-9DFA-9E61A4434F37@ucla.edu> Message-ID: Thank you for the prompt reply. This clarifies the matter. Best regards, Wali. On Apr 10, 2014 3:09 PM, "Alex Afanasyev" wrote: > Hi Wali, > > Sorry for the confusion. What I meant that usually FIB size is not an > issue in the simulation scenario, since it is not an element that gets > updated all the time. But, it doesn't mean you need to do any special > allocations. > > In ndnSIM, FIB uses the same underlying data structure as CS and PIT, so > you can use similar method to implement limits, but with the small caveat. > If you open model/fib/ndn-fib-impl.h, you will see that I have hard-coded > data structure policy to ndnSIM::counting_policy_traits, which does not > enforce any limits. What you can do, you can change this to an appropriate > FIB management policy (e.g., you have to figure out what to do when the > limit is reached). > > To set limits, you will need to implement equivalent of > SetMaxSize/GetMaxSize calls in CS implementation (you can can almost > directly copy lines 263-275 of model/cs/content-store-impl.h (just remove > irrelevant template parts). > > --- > Alex > > On Apr 10, 2014, at 8:12 AM, Wali wrote: > > Hello Alex, > > We are trying to get a handle on how to control the size of FIBs (finite > and infinite sized FIBs). I found a somewhat relevant reply on the mailing > list, but could not understand what do you mean when you are referring > that FIBs are not dynamically updated and ones simulation is responsible in > defining appropriate number of FIB entries. Does it mean that we have to > somehow initialize and explicitly allocate space at compile time? What is > the default size of FIBs, if we do not allocate explicit space for the,? > > I have attached the excerpt from your reply in an earlier message: > > ********************* > > On Mar 14, 2013, at 5:12 AM, Hovaidi Ardestani Mohammad > wrote: > > >* Hi everybody! > *>* 1. I am going to formulate size of buffer memory for ndnSim routers. In topology we set them based on packets (I think size of every packet should be 1024). I am wondering if CS, FIB and PIT are included in this space or not. * > > Your reply: I'm not entirely sure what your question asks. You can set individual limits on CS and PIT sizes (in number of content objects). FIB is not updated dynamically, so your simulation is responsible in defining appropriate number of FIB entries. What do you mean "in topology we set..."? Are you referring to transmission queue sizes? If yes, this is totally independent of NDN or ndnSIM. > > ********************* > > Thank you very much. > > Best regards, > Wali. > > _______________________________________________ > 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 ahmed.waliullah.kazi at gmail.com Thu Apr 10 14:10:25 2014 From: ahmed.waliullah.kazi at gmail.com (Wali) Date: Thu, 10 Apr 2014 16:10:25 -0500 Subject: [ndnSIM] FIB Size? In-Reply-To: References: <0732AAC1-FC94-4661-9DFA-9E61A4434F37@ucla.edu> Message-ID: Sorry, but I was curious about one related issue. There have been questions on the mailing list about updating the FIB at runtime. What data structure have you used to implement the FIBs? Is it static or dynamic - as a Vector or Hash in Java - which resizes upon filling up. Best regards, Wali. On Apr 10, 2014 4:01 PM, "Wali" wrote: > Thank you for the prompt reply. This clarifies the matter. > > Best regards, > Wali. > On Apr 10, 2014 3:09 PM, "Alex Afanasyev" > wrote: > >> Hi Wali, >> >> Sorry for the confusion. What I meant that usually FIB size is not an >> issue in the simulation scenario, since it is not an element that gets >> updated all the time. But, it doesn't mean you need to do any special >> allocations. >> >> In ndnSIM, FIB uses the same underlying data structure as CS and PIT, so >> you can use similar method to implement limits, but with the small caveat. >> If you open model/fib/ndn-fib-impl.h, you will see that I have hard-coded >> data structure policy to ndnSIM::counting_policy_traits, which does not >> enforce any limits. What you can do, you can change this to an appropriate >> FIB management policy (e.g., you have to figure out what to do when the >> limit is reached). >> >> To set limits, you will need to implement equivalent of >> SetMaxSize/GetMaxSize calls in CS implementation (you can can almost >> directly copy lines 263-275 of model/cs/content-store-impl.h (just remove >> irrelevant template parts). >> >> --- >> Alex >> >> On Apr 10, 2014, at 8:12 AM, Wali wrote: >> >> Hello Alex, >> >> We are trying to get a handle on how to control the size of FIBs (finite >> and infinite sized FIBs). I found a somewhat relevant reply on the mailing >> list, but could not understand what do you mean when you are referring >> that FIBs are not dynamically updated and ones simulation is responsible in >> defining appropriate number of FIB entries. Does it mean that we have to >> somehow initialize and explicitly allocate space at compile time? What is >> the default size of FIBs, if we do not allocate explicit space for the,? >> >> I have attached the excerpt from your reply in an earlier message: >> >> ********************* >> >> On Mar 14, 2013, at 5:12 AM, Hovaidi Ardestani Mohammad > wrote: >> >> >* Hi everybody! >> *>* 1. I am going to formulate size of buffer memory for ndnSim routers. In topology we set them based on packets (I think size of every packet should be 1024). I am wondering if CS, FIB and PIT are included in this space or not. * >> >> Your reply: I'm not entirely sure what your question asks. You can set individual limits on CS and PIT sizes (in number of content objects). FIB is not updated dynamically, so your simulation is responsible in defining appropriate number of FIB entries. What do you mean "in topology we set..."? Are you referring to transmission queue sizes? If yes, this is totally independent of NDN or ndnSIM. >> >> ********************* >> >> Thank you very much. >> >> Best regards, >> Wali. >> >> _______________________________________________ >> 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 alexander.afanasyev at ucla.edu Thu Apr 10 14:25:47 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Thu, 10 Apr 2014 14:25:47 -0700 Subject: [ndnSIM] FIB Size? In-Reply-To: References: <0732AAC1-FC94-4661-9DFA-9E61A4434F37@ucla.edu> Message-ID: Hi Wali, It is a dynamic data structure similar to trie (tree), which has multiple hash tables internally. You can check out the implementation in utils/trie/trie.h --- Alex On Apr 10, 2014, at 2:10 PM, Wali wrote: > Sorry, but I was curious about one related issue. There have been questions on the mailing list about updating the FIB at runtime. What data structure have you used to implement the FIBs? Is it static or dynamic - as a Vector or Hash in Java - which resizes upon filling up. > > Best regards, > Wali. > > On Apr 10, 2014 4:01 PM, "Wali" wrote: > Thank you for the prompt reply. This clarifies the matter. > > Best regards, > Wali. > > On Apr 10, 2014 3:09 PM, "Alex Afanasyev" wrote: > Hi Wali, > > Sorry for the confusion. What I meant that usually FIB size is not an issue in the simulation scenario, since it is not an element that gets updated all the time. But, it doesn't mean you need to do any special allocations. > > In ndnSIM, FIB uses the same underlying data structure as CS and PIT, so you can use similar method to implement limits, but with the small caveat. If you open model/fib/ndn-fib-impl.h, you will see that I have hard-coded data structure policy to ndnSIM::counting_policy_traits, which does not enforce any limits. What you can do, you can change this to an appropriate FIB management policy (e.g., you have to figure out what to do when the limit is reached). > > To set limits, you will need to implement equivalent of SetMaxSize/GetMaxSize calls in CS implementation (you can can almost directly copy lines 263-275 of model/cs/content-store-impl.h (just remove irrelevant template parts). > > --- > Alex > > On Apr 10, 2014, at 8:12 AM, Wali wrote: > >> Hello Alex, >> >> We are trying to get a handle on how to control the size of FIBs (finite and infinite sized FIBs). I found a somewhat relevant reply on the mailing list, but could not understand what do you mean when you are referring that FIBs are not dynamically updated and ones simulation is responsible in defining appropriate number of FIB entries. Does it mean that we have to somehow initialize and explicitly allocate space at compile time? What is the default size of FIBs, if we do not allocate explicit space for the,? >> >> I have attached the excerpt from your reply in an earlier message: >> >> ********************* >> On Mar 14, 2013, at 5:12 AM, Hovaidi Ardestani Mohammad wrote: > Hi everybody! > 1. I am going to formulate size of buffer memory for ndnSim routers. In topology we set them based on packets (I think size of every packet should be 1024). I am wondering if CS, FIB and PIT are included in this space or not. >> Your reply: I'm not entirely sure what your question asks. You can set individual limits on CS and PIT sizes (in number of content objects). FIB is not updated dynamically, so your simulation is responsible in defining appropriate number of FIB entries. What do you mean "in topology we set..."? Are you referring to transmission queue sizes? If yes, this is totally independent of NDN or ndnSIM. >> ********************* >> Thank you very much. >> >> Best regards, >> Wali. >> >> _______________________________________________ >> ndnSIM mailing list >> ndnSIM at lists.cs.ucla.edu >> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim -------------- next part -------------- An HTML attachment was scrubbed... URL: From drirawassim+ndnsim at gmail.com Sat Apr 12 22:07:09 2014 From: drirawassim+ndnsim at gmail.com (Wassim Drira) Date: Sun, 13 Apr 2014 08:07:09 +0300 Subject: [ndnSIM] issue using Simulator::Schedule In-Reply-To: References: Message-ID: Hi Alex, Thanks! I was not able to find a solution for this bug, so I removed the scheduling function from the application to the ndn-net-device.cc and now it works perfectly. But I have a question, why there is too many message losses when we use VANET? It seems that they do not listen to channel before sending and do not do re-transmission. Sometimes, I get the error High precision 128 bits multiplication error: multiplication overflow that's why I was trying to minimize to precision of tNext. On Thu, Apr 10, 2014 at 11:23 PM, Alex Afanasyev < alexander.afanasyev at ucla.edu> wrote: > Hi Wassim, > > I'm not sure I can help here. This looks like a problem during resizing > (or accessing) buckets in the hash table, but I don't understand why it is > segfaulting. Are you using multiple threads by any chance? Another > possibility could with memory allocation (e.g., when there are too many of > items to be inserted). > > --- > Alex > > PS > Why do you have such a complex way to se tNext? You could simply > > Time tNext(Seconds(rand_v.GetValue(0.01, 0.10)); // or some other range > you need > > > On Apr 8, 2014, at 4:23 AM, Wassim Drira > wrote: > > Hi all, > > I am using WIFI to exchange NDNSim messages between nodes. As there are > too many collisions and losses, I was trying to use Simulator::Schedule to > delay sending responses between the different nodes. > The problem is when I use Simulator::Schedule ( Seconds(0.05), > &ClientResponse::SendResponse, this, interest); in all nodes, it works. > But when > double rand_v = round(fabs(m_random->GetValue())*1000)/1000; > Time tNext(Seconds(rand_v)); > Simulator::Schedule ( tNext, &ClientResponse::SendResponse, this, > interest); > > the program generates this bug > Program received signal SIGSEGV, Segmentation fault. > 0x00007ffff3be4f22 in > boost::intrusive::detail::bucket_traits_impl > >::type>::bucket_count (this=0xd8) > at /usr/include/boost/intrusive/detail/hashtable_node.hpp:123 > 123 { return buckets_len_; } > > backtrace result in the debugger are below. > > Thank you in advance. > Wassim > > #0 0x00007ffff3be4f22 in > boost::intrusive::detail::bucket_traits_impl > >::type>::bucket_count (this=0xd8) > at /usr/include/boost/intrusive/detail/hashtable_node.hpp:123 > #1 0x00007ffff3d1508c in > boost::intrusive::hashtable_impl ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, > boost::intrusive::unordered_set_member_hook boost::intrusive::none, boost::intrusive::none, boost::intrusive::none>, > &ns3::ndn::ndnSIM::trie ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, > ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, > boost::hash ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > std::equal_to ns3::ndn::ndnSIM::smart_pointer_payload_traits to continue, or q to quit--- > n::ndnSIM::persistent_policy_traits> >, > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > unsigned long, > boost::intrusive::detail::bucket_traits_impl > >::type>, 3ul> >::priv_hash_to_bucket ( > this=0xd0, hash_value=175247761919) > at /usr/include/boost/intrusive/hashtable.hpp:2325 > #2 0x00007ffff3d14d2d in > boost::intrusive::hashtable_impl ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, > boost::intrusive::unordered_set_member_hook boost::intrusive::none, boost::intrusive::none, boost::intrusive::none>, > &ns3::ndn::ndnSIM::trie ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, > ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, > boost::hash ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl to continue, or q to quit--- > icy_traits> > >, > ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > std::equal_to ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > unsigned long, > boost::intrusive::detail::bucket_traits_impl > >::type>, 3ul> > >::priv_find_with_hash ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, > std::equal_to ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> > > > (this=0xd0, key=..., > equal_func=..., bucket_number=@0x7fffffffaba8: 140737283938013, > h=175247761919, previt=...) > at /usr/include/boost/intrusive/hashtable.hpp:2802 > #3 0x00007ffff3d0d045 in > boost::intrusive::hashtable_impl ns3::ndn::ndnSIM::smart_pointer_payload_traits to continue, or q to quit--- > ::EntryImpl > >, > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, > boost::intrusive::unordered_set_member_hook boost::intrusive::none, boost::intrusive::none, boost::intrusive::none>, > &ns3::ndn::ndnSIM::trie ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, > ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, > boost::hash ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > std::equal_to ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > unsigned long, > boost::intrusive::detail::bucket_traits_impl > >::type>, 3ul> >::priv_find ns3::ndn::ndnSIM::smart_pointer_payload_traits > >---Type to continue, or q to quit--- > , > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, > boost::hash ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > std::equal_to ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> > > > (this=0xd0, key=..., hash_func=..., equal_func=..., > bucket_number=@0x7fffffffaba8: 140737283938013, > h=@0x7fffffffabb0: 175247761919, previt=...) > at /usr/include/boost/intrusive/hashtable.hpp:2795 > #4 0x00007ffff3d1510f in > boost::intrusive::hashtable_impl ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, > boost::intrusive::unordered_set_member_hook boost::intrusive::none, boost::intrusive::none, boost::intrusive::none>, > &ns3::ndn::n---Type to continue, or q to quit--- > dnSIM::trie ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, > ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, > boost::hash ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > std::equal_to ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > unsigned long, > boost::intrusive::detail::bucket_traits_impl > >::type>, 3ul> >::erase_and_dispose ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, > boost::hash ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, ns3::ndn::pit::EntryImpl to continue, or q > to quit--- > n::pit::PitImpl > >, > ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > std::equal_to ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > ns3::ndn::ndnSIM::trie ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, > ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::trie_delete_disposer> > (this=0xd0, > key=..., hash_func=..., equal_func=..., disposer=...) > at /usr/include/boost/intrusive/hashtable.hpp:1534 > #5 0x00007ffff3d0d6ab in > boost::intrusive::hashtable_impl ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, > boost::intrusive::unordered_set_member_hook boost::intrusive::none, boost::intrusive::none, boost::intrusive::none>, > &ns3::ndn::ndnSIM::trie ns3::ndn::ndnSIM::smart_pointer_payload_traits to continue, or q to quit--- > _traits> >, > ns3::ndn::pit::EntryImpl > > >, > ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, > boost::hash ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > std::equal_to ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > unsigned long, > boost::intrusive::detail::bucket_traits_impl > >::type>, 3ul> >::erase_and_dispose ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, > ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::trie_delete_disposer> > (this=0xd0, value=..., disposer=...) > at /usr/include/boost/intrusive/hashtable.hpp:1509 > #6 0x00007ffff3d019d8 in > boost::intrusive::unordered_set_impl ns3::ndn::ndnSIM::smart_pointer_payload_traits to > continue, or q to quit--- > :pit::EntryImpl > >, > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, > boost::intrusive::unordered_set_member_hook boost::intrusive::none, boost::intrusive::none, boost::intrusive::none>, > &ns3::ndn::ndnSIM::trie ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, > ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, > boost::hash ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > std::equal_to ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, > unsigned long, > boost::intrusive::detail::bucket_traits_impl > >::type>, 3ul> >::erase_and_dispose ns3::ndn::ndnSIM::smart_pointer_payload_traits to continue, or q to quit--- > > cy_traits> >, > ns3::ndn::pit::EntryImpl > > >, > ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::trie_delete_disposer> > (this=0xd0, value=..., disposer=...) > at /usr/include/boost/intrusive/unordered_set.hpp:511 > #7 0x00007ffff3cfaac5 in ns3::ndn::ndnSIM::trie ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::prune > (this=0x8ccb40) > at ../src/ndnSIM/model/pit/../../utils/trie/trie.h:269 > #8 0x00007ffff3cedd9a in ns3::ndn::ndnSIM::trie ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::erase > (this=0x8ccb40) > > at ../src/ndnSIM/model/pit/../../utils/trie/trie.h:254 > #9 0x00007ffff3ce4720 in > ns3::ndn::ndnSIM::trie_with_policy ns3::ndn::ndnSIM::smart_pointer_payload_traits > >, > ns3::ndn::pit::EntryImpl > > >, ns3::ndn::ndnSIM::persistent_policy_traits>::erase (this=0x888ad0, > node=0x8ccb40) > at ../src/ndnSIM/model/pit/../../utils/trie/trie-with-policy.h:99 > ---Type to continue, or q to quit--- > #10 0x00007ffff3ccce85 in > ns3::ndn::pit::PitImpl::MarkErased > (this=0x888aa0, item=...) > at ../src/ndnSIM/model/pit/ndn-pit-impl.h:390 > #11 0x00007ffff3c92115 in > ns3::ndn::ForwardingStrategy::SatisfyPendingInterest > (this=0x888bf0, inFace=..., data=..., pitEntry=...) > at ../src/ndnSIM/model/fw/ndn-forwarding-strategy.cc:386 > > _______________________________________________ > 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 rong.you.sjtu at foxmail.com Sun Apr 13 01:10:11 2014 From: rong.you.sjtu at foxmail.com (=?gb18030?B?eW91cm9uZw==?=) Date: Sun, 13 Apr 2014 16:10:11 +0800 Subject: [ndnSIM] error in build the ndnsim ddos interest flooding Message-ID: Hi all, When i want to build project ndnSIM-ddos-interest-flooding which download from the https://github.com/cawka/ndnSIM-ddos-interest-flooding. And i follow the steps described in README: mkdir ns-dev cd ns-dev git clone git://github.com/cawka/ns-3-dev-ndnSIM.git ns-3 (cd ns-3 && git checkout -b ns-3.17-ndnSIM-0.5 origin/ns-3.17-ndnSIM-0.5) git clone git://github.com/cawka/pybindgen.git pybindgen git clone git://github.com/NDN-Routing/ndnSIM.git ns-3/src/ndnSIM (cd ns-3/src/ndnSIM && git checkout -b v0.5-rc2 db5f3b6acf526918be0a6a67c11378fa32cb27de) git clone git://github.com/cawka/ndnSIM-ddos-interest-flooding.git ndnSIM-ddos-interest-flooding cd ns-3 ./waf configure -d optimized ./waf sudo ./waf install During executing the step './waf', it returns the error message as follows: ./ns3/traced-value.h:466:16: ??? template ns3::TracedValue ns3::operator<<(const ns3::TracedValue&, const U&) ./ns3/traced-value.h:461:16: ??? template ns3::TracedValue ns3::operator<<(const ns3::TracedValue&, const ns3::TracedValue&) ./ns3/traced-value.h:136:15: ??? template std::ostream& ns3::operator<<(std::ostream&, const ns3::TracedValue&) ./ns3/random-variable.h:741:16: ??? std::ostream& ns3::operator<<(std::ostream&, const ns3::RandomVariable&) ./ns3/random-variable.h:741:16: ??? no known conversion for argument 2 from ?ns3::CommandLine? to ?const ns3::RandomVariable&? ./ns3/object-factory.h:91:16: ??? std::ostream& ns3::operator<<(std::ostream&, const ns3::ObjectFactory&) ./ns3/object-factory.h:91:16: ??? no known conversion for argument 2 from ?ns3::CommandLine? to ?const ns3::ObjectFactory&? ./ns3/nstime.h:665:15: ??? std::ostream& ns3::operator<<(std::ostream&, const ns3::Time&) ./ns3/nstime.h:665:15: ??? no known conversion for argument 2 from ?ns3::CommandLine? to ?const ns3::Time&? ./ns3/int64x64.h:82:15: ??? std::ostream& ns3::operator<<(std::ostream&, const ns3::int64x64_t&) ./ns3/int64x64.h:82:15: ??? no known conversion for argument 2 from ?ns3::CommandLine? to ?const ns3::int64x64_t&? ./ns3/type-id.h:362:16: ??? std::ostream& ns3::operator<<(std::ostream&, ns3::TypeId) ./ns3/type-id.h:362:16: ??? no known conversion for argument 2 from ?ns3::CommandLine? to ?ns3::TypeId? ./ns3/boolean.h:64:16: ??? std::ostream& ns3::operator<<(std::ostream&, const ns3::BooleanValue&) ./ns3/boolean.h:64:16: ??? no known conversion for argument 2 from ?ns3::CommandLine? to ?const ns3::BooleanValue&? ./ns3/ptr.h:292:15: ??? template std::ostream& ns3::operator<<(std::ostream&, const ns3::Ptr&) Waf: Leaving directory `/home/yourong/clone/ns-dev/ns-3/build' Build failed -> task in 'rocketfuel-maps-cch-to-annotaded' failed (exit status 1): {task 27095696: cxx rocketfuel-maps-cch-to-annotaded.cc -> rocketfuel-maps-cch-to-annotaded.cc.1.o} ['/usr/bin/g++', '-O0', '-ggdb', '-g3', '-Wall', '-Werror', '-Wno-error=deprecated-declarations', '-fstrict-aliasing', '-Wstrict-aliasing', '-pthread', '-I.', '-I..', '-I/usr/include', '-DNS3_ASSERT_ENABLE', '-DNS3_LOG_ENABLE', '-DHAVE_SYS_IOCTL_H=1', '-DHAVE_IF_NETS_H=1', '-DHAVE_NET_ETHERNET_H=1', '-DHAVE_PACKET_H=1', '-DHAVE_SQLITE3=1', '-DHAVE_IF_TUN_H=1', '-DHAVE_GSL=1', '../src/ndnSIM/tools/rocketfuel-maps-cch-to-annotaded.cc', '-c', '-o', 'src/ndnSIM/tools/rocketfuel-maps-cch-to-annotaded.cc.1.o'] My environment is ubuntu-12.10, is any steps should i missed? Any guys can help me to fix it? Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From bouk at monet.knu.ac.kr Sun Apr 13 10:45:13 2014 From: bouk at monet.knu.ac.kr (Safdar Hussain Bouk) Date: Sun, 13 Apr 2014 10:45:13 -0700 Subject: [ndnSIM] NDNSIM Car2Car Compilation Error Message-ID: Hi, I am new to NS 3 and ndnSIM. I am trying to simulate the car2car scenarion in ndnd. I have successfully configured the car2car code: bouk at ubuntu:~/ndnSIM/my-simulations$ sudo ./waf configure Setting top to : /home/bouk/ndnSIM/my-simulations Setting out to : /home/bouk/ndnSIM/my-simulations/build Checking for 'g++' (c++ compiler) : /usr/bin/g++ Checking boost includes : 1_48 Checking boost libs : ok Checking for boost linkage : ok Checking for program pkg-config : /usr/bin/pkg-config Checking for pkg-config version >= '0.0.0' : yes Checking for ns3-ndnSIM : yes Checking for ns3-core : yes Checking for ns3-network : yes Checking for ns3-internet : yes Checking for ns3-point-to-point : yes Checking for ns3-topology-read : yes Checking for ns3-applications : yes Checking for ns3-mobility : yes Checking for ns3-wifi : yes Checking for ns3-visualizer : yes 'configure' finished successfully (0.611s) However, when I build the Car2Car scenario as per given directions and get the following error bouk at ubuntu:~/ndnSIM/my-simulations$ sudo ./waf Waf: Entering directory `/home/bouk/ndnSIM/my-simulations/build' [ 1/11] cxx: extensions/car-relay-tracer.cc -> build/extensions/car-relay-tracer.cc.1.o [ 5/11] cxx: extensions/ndn-fw-v2v.cc -> build/extensions/ndn-fw-v2v.cc.1.o [ 6/11] cxx: extensions/ndn-v2v-net-device-face.cc -> build/extensions/ndn-v2v-net-device-face.cc.1.o ../extensions/car-relay-tracer.cc:33:36: fatal error: ns3/ndn-content-object.h: No such file or directory compilation terminated. In file included from ../extensions/ndn-v2v-net-device-face.cc:22:0: ../extensions/ndn-v2v-net-device-face.h:78:28: error: 'ProtocolHandler' has not been declared ../extensions/ndn-v2v-net-device-face.cc: In constructor 'ns3::ndn::V2vNetDeviceFace::Item::Item(const ns3::Time&, const ns3::Ptr&)': ../extensions/ndn-v2v-net-device-face.cc:184:12: error: 'GetName' is not a member of 'ns3::ndn::HeaderHelper' ../extensions/ndn-v2v-net-device-face.cc: In member function 'virtual bool ns3::ndn::V2vNetDeviceFace::SendImpl(ns3::Ptr)': ../extensions/ndn-v2v-net-device-face.cc:319:14: error: 'SendImpl' is not a member of 'ns3::ndn::NetDeviceFace' ../extensions/ndn-v2v-net-device-face.cc: In member function 'void ns3::ndn::V2vNetDeviceFace::TagAndNetDeviceSendImpl(ns3::Ptr)': ../extensions/ndn-v2v-net-device-face.cc:471:3: error: 'SendImpl' is not a member of 'ns3::ndn::NetDeviceFace' ../extensions/ndn-v2v-net-device-face.cc: At global scope: ../extensions/ndn-v2v-net-device-face.cc:496:44: error: variable or field 'RegisterProtocolHandler' declared void ../extensions/ndn-v2v-net-device-face.cc:496:44: error: 'ProtocolHandler' was not declared in this scope ../extensions/ndn-v2v-net-device-face.cc:691:1: error: expected '}' at end of input ../extensions/ndn-v2v-net-device-face.cc:691:1: error: expected '}' at end of input ../extensions/ndn-fw-v2v.cc:35:40: fatal error: ns3/ndn-ndn-content-object.h: No such file or directory compilation terminated. Waf: Leaving directory `/home/bouk/ndnSIM/my-simulations/build' Build failed -> task in 'extensions' failed (exit status 1): {task 164919372: cxx car-relay-tracer.cc -> car-relay-tracer.cc.1.o} ['/usr/bin/g++', '-O3', '-g', [], '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-I/usr/include', '-I/usr/local/include/ns3-dev', '-I/usr/include/gtk-2.0', '-I/usr/lib/i386-linux-gnu/gtk-2.0/include', '-I/usr/include/atk-1.0', '-I/usr/include/cairo', '-I/usr/include/gdk-pixbuf-2.0', '-I/usr/include/pango-1.0', '-I/usr/include/gio-unix-2.0', '-I/usr/include/glib-2.0', '-I/usr/lib/i386-linux-gnu/glib-2.0/include', '-I/usr/include/pixman-1', '-I/usr/include/freetype2', '-I/usr/include/libpng12', '-I/usr/include/libxml2', '-DHAVE_NS3_NDNSIM=1', '-DHAVE_NS3_CORE=1', '-DHAVE_NS3_NETWORK=1', '-DHAVE_NS3_INTERNET=1', '-DHAVE_NS3_POINT_TO_POINT=1', '-DHAVE_NS3_TOPOLOGY_READ=1', '-DHAVE_NS3_APPLICATIONS=1', '-DHAVE_NS3_MOBILITY=1', '-DHAVE_NS3_WIFI=1', '-DHAVE_NS3_VISUALIZER=1', '-DNS3_LOG_ENABLE=1', '-DNS3_ASSERT_ENABLE=1', '../extensions/car-relay-tracer.cc', '-c', '-o', 'extensions/car-relay-tracer.cc.1.o'] -> task in 'extensions' failed (exit status 1): {task 164919692: cxx ndn-v2v-net-device-face.cc -> ndn-v2v-net-device-face.cc.1.o} ['/usr/bin/g++', '-O3', '-g', [], '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-I/usr/include', '-I/usr/local/include/ns3-dev', '-I/usr/include/gtk-2.0', '-I/usr/lib/i386-linux-gnu/gtk-2.0/include', '-I/usr/include/atk-1.0', '-I/usr/include/cairo', '-I/usr/include/gdk-pixbuf-2.0', '-I/usr/include/pango-1.0', '-I/usr/include/gio-unix-2.0', '-I/usr/include/glib-2.0', '-I/usr/lib/i386-linux-gnu/glib-2.0/include', '-I/usr/include/pixman-1', '-I/usr/include/freetype2', '-I/usr/include/libpng12', '-I/usr/include/libxml2', '-DHAVE_NS3_NDNSIM=1', '-DHAVE_NS3_CORE=1', '-DHAVE_NS3_NETWORK=1', '-DHAVE_NS3_INTERNET=1', '-DHAVE_NS3_POINT_TO_POINT=1', '-DHAVE_NS3_TOPOLOGY_READ=1', '-DHAVE_NS3_APPLICATIONS=1', '-DHAVE_NS3_MOBILITY=1', '-DHAVE_NS3_WIFI=1', '-DHAVE_NS3_VISUALIZER=1', '-DNS3_LOG_ENABLE=1', '-DNS3_ASSERT_ENABLE=1', '../extensions/ndn-v2v-net-device-face.cc', '-c', '-o', 'extensions/ndn-v2v-net-device-face.cc.1.o'] -> task in 'extensions' failed (exit status 1): {task 164919628: cxx ndn-fw-v2v.cc -> ndn-fw-v2v.cc.1.o} ['/usr/bin/g++', '-O3', '-g', [], '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-I/usr/include', '-I/usr/local/include/ns3-dev', '-I/usr/include/gtk-2.0', '-I/usr/lib/i386-linux-gnu/gtk-2.0/include', '-I/usr/include/atk-1.0', '-I/usr/include/cairo', '-I/usr/include/gdk-pixbuf-2.0', '-I/usr/include/pango-1.0', '-I/usr/include/gio-unix-2.0', '-I/usr/include/glib-2.0', '-I/usr/lib/i386-linux-gnu/glib-2.0/include', '-I/usr/include/pixman-1', '-I/usr/include/freetype2', '-I/usr/include/libpng12', '-I/usr/include/libxml2', '-DHAVE_NS3_NDNSIM=1', '-DHAVE_NS3_CORE=1', '-DHAVE_NS3_NETWORK=1', '-DHAVE_NS3_INTERNET=1', '-DHAVE_NS3_POINT_TO_POINT=1', '-DHAVE_NS3_TOPOLOGY_READ=1', '-DHAVE_NS3_APPLICATIONS=1', '-DHAVE_NS3_MOBILITY=1', '-DHAVE_NS3_WIFI=1', '-DHAVE_NS3_VISUALIZER=1', '-DNS3_LOG_ENABLE=1', '-DNS3_ASSERT_ENABLE=1', '../extensions/ndn-fw-v2v.cc', '-c', '-o', 'extensions/ndn-fw-v2v.cc.1.o'] I need your help in this regard to solve the issue. Regards *Bouk* Wireless & Mobile Internet Lab. School of Computer Science and Engineering Kyungpook National University, Daegu, Korea. shbouk.info -------------- next part -------------- An HTML attachment was scrubbed... URL: From bazmi.parisa at gmail.com Sun Apr 13 12:34:54 2014 From: bazmi.parisa at gmail.com (parisa bazmi) Date: Mon, 14 Apr 2014 00:04:54 +0430 Subject: [ndnSIM] ndnsim Message-ID: hi I'm new to C++ and pointer. I wanna get next router metric such as number of satisfied interests ,cache hits ,cache ..., to decide from witch face should I send interest. I saw trace sources but I want to get this parameter in my program for routing. can you help me how to do this. thanks parisa -------------- next part -------------- An HTML attachment was scrubbed... URL: From iliamo at ucla.edu Mon Apr 14 07:22:43 2014 From: iliamo at ucla.edu (Ilya Moiseenko) Date: Mon, 14 Apr 2014 10:22:43 -0400 Subject: [ndnSIM] error in build the ndnsim ddos interest flooding In-Reply-To: References: Message-ID: <92C07D3F-CF05-4442-B395-F1DA04E77227@ucla.edu> The current version of ndnSIM is incompatible with these scenarios. You need to pull an older version of simulator dated back to January 2013 +/- 2 months. Ilya On Apr 13, 2014, at 4:10 AM, yourong wrote: > Hi all, > When i want to build project ndnSIM-ddos-interest-flooding which download from the https://github.com/cawka/ndnSIM-ddos-interest-flooding. And i follow the steps described in README: > mkdir ns-dev > cd ns-dev > > git clone git://github.com/cawka/ns-3-dev-ndnSIM.git ns-3 > (cd ns-3 && git checkout -b ns-3.17-ndnSIM-0.5 origin/ns-3.17-ndnSIM-0.5) > git clone git://github.com/cawka/pybindgen.git pybindgen > git clone git://github.com/NDN-Routing/ndnSIM.git ns-3/src/ndnSIM > (cd ns-3/src/ndnSIM && git checkout -b v0.5-rc2 db5f3b6acf526918be0a6a67c11378fa32cb27de) > > git clone git://github.com/cawka/ndnSIM-ddos-interest-flooding.git ndnSIM-ddos-interest-flooding > > cd ns-3 > ./waf configure -d optimized > ./waf > sudo ./waf install > > During executing the step './waf', it returns the error message as follows: > > ./ns3/traced-value.h:466:16: ??? template ns3::TracedValue ns3::operator<<(const ns3::TracedValue&, const U&) > ./ns3/traced-value.h:461:16: ??? template ns3::TracedValue ns3::operator<<(const ns3::TracedValue&, const ns3::TracedValue&) > ./ns3/traced-value.h:136:15: ??? template std::ostream& ns3::operator<<(std::ostream&, const ns3::TracedValue&) > ./ns3/random-variable.h:741:16: ??? std::ostream& ns3::operator<<(std::ostream&, const ns3::RandomVariable&) > ./ns3/random-variable.h:741:16: ??? no known conversion for argument 2 from ?ns3::CommandLine? to ?const ns3::RandomVariable&? > ./ns3/object-factory.h:91:16: ??? std::ostream& ns3::operator<<(std::ostream&, const ns3::ObjectFactory&) > ./ns3/object-factory.h:91:16: ??? no known conversion for argument 2 from ?ns3::CommandLine? to ?const ns3::ObjectFactory&? > ./ns3/nstime.h:665:15: ??? std::ostream& ns3::operator<<(std::ostream&, const ns3::Time&) > ./ns3/nstime.h:665:15: ??? no known conversion for argument 2 from ?ns3::CommandLine? to ?const ns3::Time&? > ./ns3/int64x64.h:82:15: ??? std::ostream& ns3::operator<<(std::ostream&, const ns3::int64x64_t&) > ./ns3/int64x64.h:82:15: ??? no known conversion for argument 2 from ?ns3::CommandLine? to ?const ns3::int64x64_t&? > ./ns3/type-id.h:362:16: ??? std::ostream& ns3::operator<<(std::ostream&, ns3::TypeId) > ./ns3/type-id.h:362:16: ??? no known conversion for argument 2 from ?ns3::CommandLine? to ?ns3::TypeId? > ./ns3/boolean.h:64:16: ??? std::ostream& ns3::operator<<(std::ostream&, const ns3::BooleanValue&) > ./ns3/boolean.h:64:16: ??? no known conversion for argument 2 from ?ns3::CommandLine? to ?const ns3::BooleanValue&? > ./ns3/ptr.h:292:15: ??? template std::ostream& ns3::operator<<(std::ostream&, const ns3::Ptr&) > Waf: Leaving directory `/home/yourong/clone/ns-dev/ns-3/build' > Build failed > -> task in 'rocketfuel-maps-cch-to-annotaded' failed (exit status 1): > {task 27095696: cxx rocketfuel-maps-cch-to-annotaded.cc -> rocketfuel-maps-cch-to-annotaded.cc.1.o} > ['/usr/bin/g++', '-O0', '-ggdb', '-g3', '-Wall', '-Werror', '-Wno-error=deprecated-declarations', '-fstrict-aliasing', '-Wstrict-aliasing', '-pthread', '-I.', '-I..', '-I/usr/include', '-DNS3_ASSERT_ENABLE', '-DNS3_LOG_ENABLE', '-DHAVE_SYS_IOCTL_H=1', '-DHAVE_IF_NETS_H=1', '-DHAVE_NET_ETHERNET_H=1', '-DHAVE_PACKET_H=1', '-DHAVE_SQLITE3=1', '-DHAVE_IF_TUN_H=1', '-DHAVE_GSL=1', '../src/ndnSIM/tools/rocketfuel-maps-cch-to-annotaded.cc', '-c', '-o', 'src/ndnSIM/tools/rocketfuel-maps-cch-to-annotaded.cc.1.o'] > > My environment is ubuntu-12.10, is any steps should i missed? Any guys can help me to fix it? Thanks! > > > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Mon Apr 14 11:44:32 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Mon, 14 Apr 2014 11:44:32 -0700 Subject: [ndnSIM] ndnsim In-Reply-To: References: Message-ID: <3DCAB7E8-DC9B-4612-94A9-1F331FDBB942@ucla.edu> Hi Parisa, The tracers were designed primarily for tracing purposes and not meant to be used to make forwarding decisions. What you can do instead, is to create a custom strategy (custom base strategy) that collects all parameters you need to make the decision at the interest forwarding stage. I have implemented a simplified version of what you need in in this project https://github.com/cawka/ndnSIM-ddos-interest-flooding/tree/master/extensions. You can get stats.cc|h and stats/* files and modify them to fit your needs. --- Alex On Apr 13, 2014, at 12:34 PM, parisa bazmi wrote: > hi > I'm new to C++ and pointer. I wanna get next router metric such as number of satisfied interests ,cache hits ,cache ..., to decide from witch face should I send interest. > I saw trace sources but I want to get this parameter in my program for routing. > can you help me how to do this. > thanks > parisa > _______________________________________________ > 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 alexander.afanasyev at ucla.edu Mon Apr 14 11:45:45 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Mon, 14 Apr 2014 11:45:45 -0700 Subject: [ndnSIM] issue using Simulator::Schedule In-Reply-To: References: Message-ID: <28BB94D1-53B8-4E63-B601-FD8AE1293E8D@ucla.edu> Hi Wassim, This is a strange error that I have never seen in my simulations, so don't even have a slight idea what could be wrong... --- Alex On Apr 12, 2014, at 10:07 PM, Wassim Drira wrote: > Hi Alex, > > Thanks! > I was not able to find a solution for this bug, so I removed the scheduling function from the application to the ndn-net-device.cc and now it works perfectly. > But I have a question, why there is too many message losses when we use VANET? It seems that they do not listen to channel before sending and do not do re-transmission. > Sometimes, I get the error High precision 128 bits multiplication error: multiplication overflow that's why I was trying to minimize to precision of tNext. > > > > > On Thu, Apr 10, 2014 at 11:23 PM, Alex Afanasyev wrote: > Hi Wassim, > > I'm not sure I can help here. This looks like a problem during resizing (or accessing) buckets in the hash table, but I don't understand why it is segfaulting. Are you using multiple threads by any chance? Another possibility could with memory allocation (e.g., when there are too many of items to be inserted). > > --- > Alex > > PS > Why do you have such a complex way to se tNext? You could simply > > Time tNext(Seconds(rand_v.GetValue(0.01, 0.10)); // or some other range you need > > > On Apr 8, 2014, at 4:23 AM, Wassim Drira wrote: > >> Hi all, >> >> I am using WIFI to exchange NDNSim messages between nodes. As there are too many collisions and losses, I was trying to use Simulator::Schedule to delay sending responses between the different nodes. >> The problem is when I use Simulator::Schedule ( Seconds(0.05), &ClientResponse::SendResponse, this, interest); in all nodes, it works. But when >> double rand_v = round(fabs(m_random->GetValue())*1000)/1000; >> Time tNext(Seconds(rand_v)); >> Simulator::Schedule ( tNext, &ClientResponse::SendResponse, this, interest); >> >> the program generates this bug >> Program received signal SIGSEGV, Segmentation fault. >> 0x00007ffff3be4f22 in boost::intrusive::detail::bucket_traits_impl >::type>::bucket_count (this=0xd8) >> at /usr/include/boost/intrusive/detail/hashtable_node.hpp:123 >> 123 { return buckets_len_; } >> >> backtrace result in the debugger are below. >> >> Thank you in advance. >> Wassim >> >> #0 0x00007ffff3be4f22 in boost::intrusive::detail::bucket_traits_impl >::type>::bucket_count (this=0xd8) >> at /usr/include/boost/intrusive/detail/hashtable_node.hpp:123 >> #1 0x00007ffff3d1508c in boost::intrusive::hashtable_impl >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::intrusive::unordered_set_member_hook, &ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, boost::hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to to continue, or q to quit--- >> n::ndnSIM::persistent_policy_traits> >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, unsigned long, boost::intrusive::detail::bucket_traits_impl >::type>, 3ul> >::priv_hash_to_bucket ( >> this=0xd0, hash_value=175247761919) >> at /usr/include/boost/intrusive/hashtable.hpp:2325 >> #2 0x00007ffff3d14d2d in boost::intrusive::hashtable_impl >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::intrusive::unordered_set_member_hook, &ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, boost::hash >, ns3::ndn::pit::EntryImpl to continue, or q to quit--- >> icy_traits> > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, unsigned long, boost::intrusive::detail::bucket_traits_impl >::type>, 3ul> >::priv_find_with_hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> > > (this=0xd0, key=..., >> equal_func=..., bucket_number=@0x7fffffffaba8: 140737283938013, >> h=175247761919, previt=...) >> at /usr/include/boost/intrusive/hashtable.hpp:2802 >> #3 0x00007ffff3d0d045 in boost::intrusive::hashtable_impl to continue, or q to quit--- >> ::EntryImpl >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::intrusive::unordered_set_member_hook, &ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, boost::hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, unsigned long, boost::intrusive::detail::bucket_traits_impl >::type>, 3ul> >::priv_find >---Type to continue, or q to quit--- >> , ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> > > (this=0xd0, key=..., hash_func=..., equal_func=..., >> bucket_number=@0x7fffffffaba8: 140737283938013, >> h=@0x7fffffffabb0: 175247761919, previt=...) >> at /usr/include/boost/intrusive/hashtable.hpp:2795 >> #4 0x00007ffff3d1510f in boost::intrusive::hashtable_impl >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::intrusive::unordered_set_member_hook, &ns3::ndn::n---Type to continue, or q to quit--- >> dnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, boost::hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, unsigned long, boost::intrusive::detail::bucket_traits_impl >::type>, 3ul> >::erase_and_dispose >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::hash >, ns3::ndn::pit::EntryImpl to continue, or q to quit--- >> n::pit::PitImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::trie_delete_disposer> (this=0xd0, >> key=..., hash_func=..., equal_func=..., disposer=...) >> at /usr/include/boost/intrusive/hashtable.hpp:1534 >> #5 0x00007ffff3d0d6ab in boost::intrusive::hashtable_impl >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::intrusive::unordered_set_member_hook, &ns3::ndn::ndnSIM::trie to continue, or q to quit--- >> _traits> >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, boost::hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, unsigned long, boost::intrusive::detail::bucket_traits_impl >::type>, 3ul> >::erase_and_dispose >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::trie_delete_disposer> (this=0xd0, value=..., disposer=...) >> at /usr/include/boost/intrusive/hashtable.hpp:1509 >> #6 0x00007ffff3d019d8 in boost::intrusive::unordered_set_impl to continue, or q to quit--- >> :pit::EntryImpl >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::intrusive::unordered_set_member_hook, &ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, boost::hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, unsigned long, boost::intrusive::detail::bucket_traits_impl >::type>, 3ul> >::erase_and_dispose to continue, or q to quit--- >> >> cy_traits> >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::trie_delete_disposer> (this=0xd0, value=..., disposer=...) >> at /usr/include/boost/intrusive/unordered_set.hpp:511 >> #7 0x00007ffff3cfaac5 in ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::prune (this=0x8ccb40) >> at ../src/ndnSIM/model/pit/../../utils/trie/trie.h:269 >> #8 0x00007ffff3cedd9a in ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::erase (this=0x8ccb40) >> >> at ../src/ndnSIM/model/pit/../../utils/trie/trie.h:254 >> #9 0x00007ffff3ce4720 in ns3::ndn::ndnSIM::trie_with_policy >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits>::erase (this=0x888ad0, >> node=0x8ccb40) >> at ../src/ndnSIM/model/pit/../../utils/trie/trie-with-policy.h:99 >> ---Type to continue, or q to quit--- >> #10 0x00007ffff3ccce85 in ns3::ndn::pit::PitImpl::MarkErased (this=0x888aa0, item=...) >> at ../src/ndnSIM/model/pit/ndn-pit-impl.h:390 >> #11 0x00007ffff3c92115 in ns3::ndn::ForwardingStrategy::SatisfyPendingInterest >> (this=0x888bf0, inFace=..., data=..., pitEntry=...) >> at ../src/ndnSIM/model/fw/ndn-forwarding-strategy.cc:386 >> >> _______________________________________________ >> ndnSIM mailing list >> ndnSIM at lists.cs.ucla.edu >> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Mon Apr 14 11:51:17 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Mon, 14 Apr 2014 11:51:17 -0700 Subject: [ndnSIM] Longest prefix match in FIB In-Reply-To: References: Message-ID: Hi Yaoqing, I think you're right. FIB works entirely on names and does not really need to know anything about the Interest. I think the original idea was to match PIT implementation (where PIT entry is looked up either with Data or Interest packet), but I see now that it is not entirely correct. If you make a patch that adds a new LPM method that uses just a name (I would prefer keeping the existing method for now), then I would be happy to merge this into the master. Thanks! --- Alex On Apr 10, 2014, at 7:08 AM, Yaoqing Liu - liu wrote: > Hi Alex, > > I'm working with Dr. Lan Wang from the University of Memphis about the forwarding hint solution. We noticed that your only implemented one Longest Prefix Match (LPM) function by interest, we have two questions here: > why don't just use a prefix for LPM, instead of an interest (In the function, actually you used just the interest name)? > You left a note in the function "@todo use predicate to search with exclude filters", what other fields of an interest and for what purpose will be used for FIB lookup? Could you show an example? In our opinion, LPM by the interest name is good enough for FIB lookup. > Thanks, > Yaoqing > > ________________________________________ > Yaoqing Liu, Ph.D. > Assistant Professor > Computer Science > Clarkson University > Potsdam NY 13699 > Office: Science Center 381 > Phone: (315)-268-2374 > Email: liu at clarkson.edu > Web: http://people.clarkson.edu/~liu/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From iliamo at ucla.edu Mon Apr 14 11:53:15 2014 From: iliamo at ucla.edu (Ilya Moiseenko) Date: Mon, 14 Apr 2014 14:53:15 -0400 Subject: [ndnSIM] issue using Simulator::Schedule In-Reply-To: References: Message-ID: <50DD22CD-A40E-4B80-BB41-78AFF8DD939C@ucla.edu> 128 bit integers usually don?t work on 32-bit operating systems and 32-bit CPUs. Ilya On Apr 13, 2014, at 1:07 AM, Wassim Drira wrote: > Hi Alex, > > Thanks! > I was not able to find a solution for this bug, so I removed the scheduling function from the application to the ndn-net-device.cc and now it works perfectly. > But I have a question, why there is too many message losses when we use VANET? It seems that they do not listen to channel before sending and do not do re-transmission. > Sometimes, I get the error High precision 128 bits multiplication error: multiplication overflow that's why I was trying to minimize to precision of tNext. > > > > > On Thu, Apr 10, 2014 at 11:23 PM, Alex Afanasyev wrote: > Hi Wassim, > > I'm not sure I can help here. This looks like a problem during resizing (or accessing) buckets in the hash table, but I don't understand why it is segfaulting. Are you using multiple threads by any chance? Another possibility could with memory allocation (e.g., when there are too many of items to be inserted). > > --- > Alex > > PS > Why do you have such a complex way to se tNext? You could simply > > Time tNext(Seconds(rand_v.GetValue(0.01, 0.10)); // or some other range you need > > > On Apr 8, 2014, at 4:23 AM, Wassim Drira wrote: > >> Hi all, >> >> I am using WIFI to exchange NDNSim messages between nodes. As there are too many collisions and losses, I was trying to use Simulator::Schedule to delay sending responses between the different nodes. >> The problem is when I use Simulator::Schedule ( Seconds(0.05), &ClientResponse::SendResponse, this, interest); in all nodes, it works. But when >> double rand_v = round(fabs(m_random->GetValue())*1000)/1000; >> Time tNext(Seconds(rand_v)); >> Simulator::Schedule ( tNext, &ClientResponse::SendResponse, this, interest); >> >> the program generates this bug >> Program received signal SIGSEGV, Segmentation fault. >> 0x00007ffff3be4f22 in boost::intrusive::detail::bucket_traits_impl >::type>::bucket_count (this=0xd8) >> at /usr/include/boost/intrusive/detail/hashtable_node.hpp:123 >> 123 { return buckets_len_; } >> >> backtrace result in the debugger are below. >> >> Thank you in advance. >> Wassim >> >> #0 0x00007ffff3be4f22 in boost::intrusive::detail::bucket_traits_impl >::type>::bucket_count (this=0xd8) >> at /usr/include/boost/intrusive/detail/hashtable_node.hpp:123 >> #1 0x00007ffff3d1508c in boost::intrusive::hashtable_impl >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::intrusive::unordered_set_member_hook, &ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, boost::hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to to continue, or q to quit--- >> n::ndnSIM::persistent_policy_traits> >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, unsigned long, boost::intrusive::detail::bucket_traits_impl >::type>, 3ul> >::priv_hash_to_bucket ( >> this=0xd0, hash_value=175247761919) >> at /usr/include/boost/intrusive/hashtable.hpp:2325 >> #2 0x00007ffff3d14d2d in boost::intrusive::hashtable_impl >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::intrusive::unordered_set_member_hook, &ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, boost::hash >, ns3::ndn::pit::EntryImpl to continue, or q to quit--- >> icy_traits> > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, unsigned long, boost::intrusive::detail::bucket_traits_impl >::type>, 3ul> >::priv_find_with_hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> > > (this=0xd0, key=..., >> equal_func=..., bucket_number=@0x7fffffffaba8: 140737283938013, >> h=175247761919, previt=...) >> at /usr/include/boost/intrusive/hashtable.hpp:2802 >> #3 0x00007ffff3d0d045 in boost::intrusive::hashtable_impl to continue, or q to quit--- >> ::EntryImpl >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::intrusive::unordered_set_member_hook, &ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, boost::hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, unsigned long, boost::intrusive::detail::bucket_traits_impl >::type>, 3ul> >::priv_find >---Type to continue, or q to quit--- >> , ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> > > (this=0xd0, key=..., hash_func=..., equal_func=..., >> bucket_number=@0x7fffffffaba8: 140737283938013, >> h=@0x7fffffffabb0: 175247761919, previt=...) >> at /usr/include/boost/intrusive/hashtable.hpp:2795 >> #4 0x00007ffff3d1510f in boost::intrusive::hashtable_impl >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::intrusive::unordered_set_member_hook, &ns3::ndn::n---Type to continue, or q to quit--- >> dnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, boost::hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, unsigned long, boost::intrusive::detail::bucket_traits_impl >::type>, 3ul> >::erase_and_dispose >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::hash >, ns3::ndn::pit::EntryImpl to continue, or q to quit--- >> n::pit::PitImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::trie_delete_disposer> (this=0xd0, >> key=..., hash_func=..., equal_func=..., disposer=...) >> at /usr/include/boost/intrusive/hashtable.hpp:1534 >> #5 0x00007ffff3d0d6ab in boost::intrusive::hashtable_impl >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::intrusive::unordered_set_member_hook, &ns3::ndn::ndnSIM::trie to continue, or q to quit--- >> _traits> >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, boost::hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, unsigned long, boost::intrusive::detail::bucket_traits_impl >::type>, 3ul> >::erase_and_dispose >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::trie_delete_disposer> (this=0xd0, value=..., disposer=...) >> at /usr/include/boost/intrusive/hashtable.hpp:1509 >> #6 0x00007ffff3d019d8 in boost::intrusive::unordered_set_impl to continue, or q to quit--- >> :pit::EntryImpl >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>, boost::intrusive::unordered_set_member_hook, &ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::unordered_set_member_hook_>, boost::hash >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, std::equal_to >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type> >, unsigned long, boost::intrusive::detail::bucket_traits_impl >::type>, 3ul> >::erase_and_dispose to continue, or q to quit--- >> >> cy_traits> >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::trie_delete_disposer> (this=0xd0, value=..., disposer=...) >> at /usr/include/boost/intrusive/unordered_set.hpp:511 >> #7 0x00007ffff3cfaac5 in ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::prune (this=0x8ccb40) >> at ../src/ndnSIM/model/pit/../../utils/trie/trie.h:269 >> #8 0x00007ffff3cedd9a in ns3::ndn::ndnSIM::trie >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits::policy_hook_type>::erase (this=0x8ccb40) >> >> at ../src/ndnSIM/model/pit/../../utils/trie/trie.h:254 >> #9 0x00007ffff3ce4720 in ns3::ndn::ndnSIM::trie_with_policy >, ns3::ndn::pit::EntryImpl > >, ns3::ndn::ndnSIM::persistent_policy_traits>::erase (this=0x888ad0, >> node=0x8ccb40) >> at ../src/ndnSIM/model/pit/../../utils/trie/trie-with-policy.h:99 >> ---Type to continue, or q to quit--- >> #10 0x00007ffff3ccce85 in ns3::ndn::pit::PitImpl::MarkErased (this=0x888aa0, item=...) >> at ../src/ndnSIM/model/pit/ndn-pit-impl.h:390 >> #11 0x00007ffff3c92115 in ns3::ndn::ForwardingStrategy::SatisfyPendingInterest >> (this=0x888bf0, inFace=..., data=..., pitEntry=...) >> at ../src/ndnSIM/model/fw/ndn-forwarding-strategy.cc:386 >> >> _______________________________________________ >> ndnSIM mailing list >> ndnSIM at lists.cs.ucla.edu >> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim -------------- next part -------------- An HTML attachment was scrubbed... URL: From yaosy at pku.edu.cn Wed Apr 16 09:36:19 2014 From: yaosy at pku.edu.cn (=?utf-8?B?5aea5pav5a6H?=) Date: Thu, 17 Apr 2014 00:36:19 +0800 (CST) Subject: [ndnSIM] =?gbk?q?Need_help_on_collect_Data_names_received_by_a_no?= =?gbk?q?de?= In-Reply-To: <1399680121.30761.1397665889746.JavaMail.root@bj-mail07.pku.edu.cn> Message-ID: <1479324579.30781.1397666179630.JavaMail.root@bj-mail07.pku.edu.cn> Hi, I am trying to collect names of Data packets received by a node in real time. How can I get this? Please give me some hints, thanks you! From alexander.afanasyev at ucla.edu Wed Apr 16 11:44:07 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Wed, 16 Apr 2014 11:44:07 -0700 Subject: [ndnSIM] Need help on collect Data names received by a node In-Reply-To: <1479324579.30781.1397666179630.JavaMail.root@bj-mail07.pku.edu.cn> References: <1479324579.30781.1397666179630.JavaMail.root@bj-mail07.pku.edu.cn> Message-ID: By "node" you mean application or forwarder? Also, depending on definition of "real time" (e.g., who exactly will be using it), the solution could be different. If the intent is to use such information in the forwarder, I would suggest creating a custom strategy and collect such information there. --- Alex On Apr 16, 2014, at 9:36 AM, ??? wrote: > Hi, > I am trying to collect names of Data packets received by a node in real time. > How can I get this? Please give me some hints, thanks you! From ahmed.waliullah.kazi at gmail.com Fri Apr 18 06:02:10 2014 From: ahmed.waliullah.kazi at gmail.com (Wali) Date: Fri, 18 Apr 2014 08:02:10 -0500 Subject: [ndnSIM] Installation on Windows? Message-ID: Hi Alex, I hope you are doing well. Is it possible to install ndnSIM on Windows machine having Cygwin? Best regards, Wali. -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Fri Apr 18 13:03:20 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Fri, 18 Apr 2014 13:03:20 -0700 Subject: [ndnSIM] Installation on Windows? In-Reply-To: References: Message-ID: <6D6A29DB-4F66-4A0E-AB8C-EF466EEB6E56@ucla.edu> Hi Wali, I have never tried, so don't really know. I know that ns-3 itself has certain problems on cygwin and is not officially supported. --- Alex On Apr 18, 2014, at 6:02 AM, Wali wrote: > Hi Alex, > > I hope you are doing well. Is it possible to install ndnSIM on Windows machine having Cygwin? > > Best regards, > Wali. > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim From chavoosh.ghasemi.off at gmail.com Sat Apr 19 06:42:24 2014 From: chavoosh.ghasemi.off at gmail.com (chavoosh ghasemi) Date: Sat, 19 Apr 2014 18:12:24 +0430 Subject: [ndnSIM] New routing protocol Message-ID: Hi dear Alex I am working on a new routing protocol which is designed specially for content centric networks, and specifically for NDN. Now I am wondering is there any way that I can implement my idea by ndnSIM? i.e. is ndnSIM flexible enough to define new routing protocol for it? if yes, please guide me to the best way and if no, I will be so glad if you can help me about this issue. Sincerely *chavoosh* -------------- next part -------------- An HTML attachment was scrubbed... URL: From drirawassim+ndnsim at gmail.com Sat Apr 19 22:00:07 2014 From: drirawassim+ndnsim at gmail.com (Wassim Drira) Date: Sun, 20 Apr 2014 08:00:07 +0300 Subject: [ndnSIM] New routing protocol In-Reply-To: References: Message-ID: Dear Chavoosh, Yes! NdnSim is flexible and it follows NDN architecture and specification http://named-data.net/wp-content/uploads/TRndn-proj.pdf. You can read the documentation in http://ndnsim.net. The needed work to implement a new routing algorithm depends on the kind of updates that you want to add to Ndn. Updating the forwarding strategy can be simple as described in http://ndnsim.net/fw.html But in some cases you will need to update also the PIT. Regards, On Sat, Apr 19, 2014 at 4:42 PM, chavoosh ghasemi < chavoosh.ghasemi.off at gmail.com> wrote: > Hi dear Alex > > I am working on a new routing protocol which is designed specially for > content centric networks, and specifically for NDN. Now I am wondering is > there any way that I can implement my idea by ndnSIM? i.e. is ndnSIM > flexible enough to define new routing protocol for it? if yes, please guide > me to the best way and if no, I will be so glad if you can help me about > this issue. > > Sincerely > *chavoosh* > > _______________________________________________ > 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 chavoosh.ghasemi.off at gmail.com Sun Apr 20 00:14:07 2014 From: chavoosh.ghasemi.off at gmail.com (chavoosh ghasemi) Date: Sun, 20 Apr 2014 11:44:07 +0430 Subject: [ndnSIM] New routing protocol In-Reply-To: References: Message-ID: Thanks dear Wassim for your help, but I am considering about control plane rather than data plane, although data plane is too important in further phases. Lets simplify my question, assume you want implement OSPF (or any other routing protocol) in ndnSIM, now describe the procedure and tell the steps you need to do abstractly if you can (*As I want the procedure, please do not mention to "OSPFN" paper)*. Best Regards, *chavoosh* On Sun, Apr 20, 2014 at 9:30 AM, Wassim Drira wrote: > Dear Chavoosh, > > Yes! NdnSim is flexible and it follows NDN architecture and specification > http://named-data.net/wp-content/uploads/TRndn-proj.pdf. > You can read the documentation in http://ndnsim.net. > The needed work to implement a new routing algorithm depends on the kind > of updates that you want to add to Ndn. Updating the forwarding strategy > can be simple as described in http://ndnsim.net/fw.html > But in some cases you will need to update also the PIT. > > Regards, > > > On Sat, Apr 19, 2014 at 4:42 PM, chavoosh ghasemi < > chavoosh.ghasemi.off at gmail.com> wrote: > >> Hi dear Alex >> >> I am working on a new routing protocol which is designed specially for >> content centric networks, and specifically for NDN. Now I am wondering is >> there any way that I can implement my idea by ndnSIM? i.e. is ndnSIM >> flexible enough to define new routing protocol for it? if yes, please guide >> me to the best way and if no, I will be so glad if you can help me about >> this issue. >> >> Sincerely >> *chavoosh* >> >> _______________________________________________ >> ndnSIM mailing list >> ndnSIM at lists.cs.ucla.edu >> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >> >> > -- *---------------------------- Chavoosh Ghasemi* Information Technology M.S - Computer Networks Sharif University-Computer Engineer Department * "The quieter you become, the more you can hear"* -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Sun Apr 20 19:08:41 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Sun, 20 Apr 2014 19:08:41 -0700 Subject: [ndnSIM] New routing protocol In-Reply-To: References: Message-ID: <37DC1478-0C63-4717-BE58-203133F29A36@ucla.edu> Hi Chavoosh, OSPFn may be not a good example here, since it is a (temporary) hack of IP-based OSPF protocol to carry information about NDN connectivity and prefixes. But in general, the routing daemon could be implemented as an ordinary application that sends and receives NDN interest/data packets. So the steps would: design what exactly the protocol you want to run, and then implement an applications that will be installed on each ndnSIM node and will run the designed protocol. --- Alex On Apr 20, 2014, at 12:14 AM, chavoosh ghasemi wrote: > Thanks dear Wassim for your help, but I am considering about control plane rather than data plane, although data plane is too important in further phases. Lets simplify my question, assume you want implement OSPF (or any other routing protocol) in ndnSIM, now describe the procedure and tell the steps you need to do abstractly if you can (As I want the procedure, please do not mention to "OSPFN" paper). > > Best Regards, > chavoosh > > > On Sun, Apr 20, 2014 at 9:30 AM, Wassim Drira wrote: > Dear Chavoosh, > > Yes! NdnSim is flexible and it follows NDN architecture and specification http://named-data.net/wp-content/uploads/TRndn-proj.pdf. > You can read the documentation in http://ndnsim.net. > The needed work to implement a new routing algorithm depends on the kind of updates that you want to add to Ndn. Updating the forwarding strategy can be simple as described in http://ndnsim.net/fw.html > But in some cases you will need to update also the PIT. > > Regards, > > > On Sat, Apr 19, 2014 at 4:42 PM, chavoosh ghasemi wrote: > Hi dear Alex > > I am working on a new routing protocol which is designed specially for content centric networks, and specifically for NDN. Now I am wondering is there any way that I can implement my idea by ndnSIM? i.e. is ndnSIM flexible enough to define new routing protocol for it? if yes, please guide me to the best way and if no, I will be so glad if you can help me about this issue. > > Sincerely > chavoosh > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > > > > > -- > ---------------------------- > Chavoosh Ghasemi > > Information Technology M.S - Computer Networks > Sharif University-Computer Engineer Department > > "The quieter you become, the more you can hear" > _______________________________________________ > 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 chavoosh.ghasemi.off at gmail.com Mon Apr 21 12:29:21 2014 From: chavoosh.ghasemi.off at gmail.com (chavoosh ghasemi) Date: Mon, 21 Apr 2014 23:59:21 +0430 Subject: [ndnSIM] New routing protocol In-Reply-To: <37DC1478-0C63-4717-BE58-203133F29A36@ucla.edu> References: <37DC1478-0C63-4717-BE58-203133F29A36@ucla.edu> Message-ID: Well, your tricky idea is totally nice and applicable! Although for exact measurement it is not good enough, since we shift routing functionality from from network layer to application layer. Anyway thanks a lot for your applicable idea. *chavoosh* On Mon, Apr 21, 2014 at 6:38 AM, Alex Afanasyev < alexander.afanasyev at ucla.edu> wrote: > Hi Chavoosh, > > OSPFn may be not a good example here, since it is a (temporary) hack of > IP-based OSPF protocol to carry information about NDN connectivity and > prefixes. > > But in general, the routing daemon could be implemented as an ordinary > application that sends and receives NDN interest/data packets. So the > steps would: design what exactly the protocol you want to run, and then > implement an applications that will be installed on each ndnSIM node and > will run the designed protocol. > > --- > Alex > > On Apr 20, 2014, at 12:14 AM, chavoosh ghasemi < > chavoosh.ghasemi.off at gmail.com> wrote: > > Thanks dear Wassim for your help, but I am considering about control plane > rather than data plane, although data plane is too important in further > phases. Lets simplify my question, assume you want implement OSPF (or any > other routing protocol) in ndnSIM, now describe the procedure and tell the > steps you need to do abstractly if you can (*As I want the procedure, > please do not mention to "OSPFN" paper)*. > > Best Regards, > *chavoosh* > > > On Sun, Apr 20, 2014 at 9:30 AM, Wassim Drira < > drirawassim+ndnsim at gmail.com> wrote: > >> Dear Chavoosh, >> >> Yes! NdnSim is flexible and it follows NDN architecture and specification >> http://named-data.net/wp-content/uploads/TRndn-proj.pdf. >> You can read the documentation in http://ndnsim.net. >> The needed work to implement a new routing algorithm depends on the kind >> of updates that you want to add to Ndn. Updating the forwarding strategy >> can be simple as described in http://ndnsim.net/fw.html >> But in some cases you will need to update also the PIT. >> >> Regards, >> >> >> On Sat, Apr 19, 2014 at 4:42 PM, chavoosh ghasemi < >> chavoosh.ghasemi.off at gmail.com> wrote: >> >>> Hi dear Alex >>> >>> I am working on a new routing protocol which is designed specially for >>> content centric networks, and specifically for NDN. Now I am wondering is >>> there any way that I can implement my idea by ndnSIM? i.e. is ndnSIM >>> flexible enough to define new routing protocol for it? if yes, please guide >>> me to the best way and if no, I will be so glad if you can help me about >>> this issue. >>> >>> Sincerely >>> *chavoosh* >>> >>> _______________________________________________ >>> ndnSIM mailing list >>> ndnSIM at lists.cs.ucla.edu >>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >>> >>> >> > > > -- > > *---------------------------- Chavoosh Ghasemi* > > Information Technology M.S - Computer Networks > Sharif University-Computer Engineer Department > > * "The quieter you become, the more you can hear"* > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > > -- *---------------------------- Chavoosh Ghasemi* Information Technology M.S - Computer Networks Sharif University-Computer Engineer Department * "The quieter you become, the more you can hear"* -------------- next part -------------- An HTML attachment was scrubbed... URL: From spencer at soe.ucsc.edu Mon Apr 21 14:43:41 2014 From: spencer at soe.ucsc.edu (Spencer Sevilla) Date: Mon, 21 Apr 2014 14:43:41 -0700 Subject: [ndnSIM] question about cache behavior Message-ID: Hi all, I wrote a test NDN application, and am seeing an unexpected (I think?) behavior. First, my application expresses an Interest for ?/a/b/c/d?, this Interest is routed to the publisher, which responds with the corresponding Data packet. Next, my application expresses an Interest for ?/a/b/c?, and receives the Data packet for ?/a/b/c/d? from a cache. To my understanding, caches are only supposed to respond with exact-matches, not partial matches like this. Have I misunderstood something big here? Or is this a behavior that I can somehow set or configure? I?m a bit confused and would love some clarification :-) Thanks! Spencer From alexander.afanasyev at ucla.edu Mon Apr 21 15:02:49 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Mon, 21 Apr 2014 15:02:49 -0700 Subject: [ndnSIM] question about cache behavior In-Reply-To: References: Message-ID: <85594473-9B3C-442C-AF3C-F5657CCD8B0C@ucla.edu> Hi Spencer, No no. Caches do not have restrictions to reply with exact matches and the behavior you're observing is correct. One can implement such policy (e.g., if wants to optimize performance of cache lookups), but this is totally up to the specific implementation and comes at a cost. -- Alex On Apr 21, 2014, at 2:43 PM, Spencer Sevilla wrote: > Hi all, > > I wrote a test NDN application, and am seeing an unexpected (I think?) behavior. First, my application expresses an Interest for ?/a/b/c/d?, this Interest is routed to the publisher, which responds with the corresponding Data packet. Next, my application expresses an Interest for ?/a/b/c?, and receives the Data packet for ?/a/b/c/d? from a cache. > > To my understanding, caches are only supposed to respond with exact-matches, not partial matches like this. Have I misunderstood something big here? Or is this a behavior that I can somehow set or configure? I?m a bit confused and would love some clarification :-) > > Thanks! > Spencer > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim From azarmehr65 at gmail.com Mon Apr 21 17:38:15 2014 From: azarmehr65 at gmail.com (Azar Fazel) Date: Mon, 21 Apr 2014 17:38:15 -0700 Subject: [ndnSIM] Question about measuring RTT for each interest Message-ID: Hi Alex I'm new in ndnSIM. Could you please give me some hint on how can I measure the RTT for each interest? If I got it correct, it seems that "app-delay-tracer" gives this information. But I do not know what does "fulldelay" and "lastdelay" means? I have read the explanation of them from here: http://ndnsim.net/metric.html?highlight=fulldelay but it is very confusing. The delayS and delayUS gives the RTT for "one" interest or they aggregate the delays for all interests from the beginning of simulation? -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Mon Apr 21 17:59:28 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Mon, 21 Apr 2014 17:59:28 -0700 Subject: [ndnSIM] Question about measuring RTT for each interest In-Reply-To: References: Message-ID: Hi Azar, FullDelay is the time between sending the first interest for the data item ("segment") and the reception of the requested Data packet. This time includes all possible retransmissions of Interests for this item, if any. LastDelay is the time between last expressed interest for the data item and the reception of the requested Data. Let's say, consumer is requesting exactly one Data item and first 2 interests were dropped for some reason: t1: -> i1 for /data/1 .. (i1 dropped) t2: -> i2 for /data/1 .. (i2 dropped) t3: -> i3 for /data/1 ... t4: <- data /data/1 FullDelay = t4 - t1 LastDelay = t3 - t4 Both delayS and delayUS is the same value, just printed in different time units. --- Alex On Apr 21, 2014, at 5:38 PM, Azar Fazel wrote: > > Hi Alex > > I'm new in ndnSIM. Could you please give me some hint on how can I measure the RTT for each interest? > > If I got it correct, it seems that "app-delay-tracer" gives this information. But I do not know what does "fulldelay" and "lastdelay" means? I have read the explanation of them from here: http://ndnsim.net/metric.html?highlight=fulldelay > > but it is very confusing. The delayS and delayUS gives the RTT for "one" interest or they aggregate the delays for all interests from the beginning of simulation? > > _______________________________________________ > 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 zeynalvand at ce.sharif.edu Mon Apr 21 14:15:17 2014 From: zeynalvand at ce.sharif.edu (L.Zeynalvand) Date: Tue, 22 Apr 2014 01:45:17 +0430 Subject: [ndnSIM] NDN-CCL and ndnSim Message-ID: Hi, I am working on decentralized social networking over NDN, I found C++ and Javascript Common Client Libraries quite useful. Is there any way to use some code, based on NDN-CCL, in ndnSim simulations? Thank you for your time and consideration. -- Leonid Zeynalvand M.Sc Information Technology Sharif University of Technology From azarmehr65 at gmail.com Mon Apr 21 19:32:03 2014 From: azarmehr65 at gmail.com (Azar Fazel) Date: Mon, 21 Apr 2014 19:32:03 -0700 Subject: [ndnSIM] Question about measuring RTT for each interest In-Reply-To: References: Message-ID: Thanks Alex for the clarification. But I still do not know how I can find out which time in app-delays-trace.txt is for example t4 or t3? For example I have one consumer that is sending its interests by the rate of 1 packet/s, size of the each interest is 1KB and the band width is 1Mbps. So what time in .txt file gives me for example t3 and t4 in your previous example? On Mon, Apr 21, 2014 at 5:59 PM, Alex Afanasyev < alexander.afanasyev at ucla.edu> wrote: > Hi Azar, > > FullDelay is the time between sending the first interest for the data item > ("segment") and the reception of the requested Data packet. This time > includes all possible retransmissions of Interests for this item, if any. > > LastDelay is the time between last expressed interest for the data item > and the reception of the requested Data. > > Let's say, consumer is requesting exactly one Data item and first 2 > interests were dropped for some reason: > > t1: -> i1 for /data/1 > .. > (i1 dropped) > > t2: -> i2 for /data/1 > .. > (i2 dropped) > > t3: -> i3 for /data/1 > ... > > t4: <- data /data/1 > > FullDelay = t4 - t1 > LastDelay = t3 - t4 > > Both delayS and delayUS is the same value, just printed in different time > units. > > --- > Alex > > On Apr 21, 2014, at 5:38 PM, Azar Fazel wrote: > > > Hi Alex > > I'm new in ndnSIM. Could you please give me some hint on how can I measure > the RTT for each interest? > > If I got it correct, it seems that "app-delay-tracer" gives this > information. But I do not know what does "fulldelay" and "lastdelay" means? > I have read the explanation of them from here: > http://ndnsim.net/metric.html?highlight=fulldelay > > but it is very confusing. The delayS and delayUS gives the RTT for "one" > interest or they aggregate the delays for all interests from the beginning > of simulation? > > _______________________________________________ > 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 alexander.afanasyev at ucla.edu Mon Apr 21 21:39:12 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Mon, 21 Apr 2014 21:39:12 -0700 Subject: [ndnSIM] Question about measuring RTT for each interest In-Reply-To: References: Message-ID: First column in AppDelayTracer will give you t4. t3 and t1 can be calculated using Last and Full delays. --- Alex On Apr 21, 2014, at 7:32 PM, Azar Fazel wrote: > Thanks Alex for the clarification. > > But I still do not know how I can find out which time in app-delays-trace.txt is for example t4 or t3? > For example I have one consumer that is sending its interests by the rate of 1 packet/s, size of the each interest is 1KB and the band width is 1Mbps. So what time in .txt file gives me for example t3 and t4 in your previous example? > > > On Mon, Apr 21, 2014 at 5:59 PM, Alex Afanasyev wrote: > Hi Azar, > > FullDelay is the time between sending the first interest for the data item ("segment") and the reception of the requested Data packet. This time includes all possible retransmissions of Interests for this item, if any. > > LastDelay is the time between last expressed interest for the data item and the reception of the requested Data. > > Let's say, consumer is requesting exactly one Data item and first 2 interests were dropped for some reason: > > t1: -> i1 for /data/1 > .. > (i1 dropped) > > t2: -> i2 for /data/1 > .. > (i2 dropped) > > t3: -> i3 for /data/1 > ... > > t4: <- data /data/1 > > FullDelay = t4 - t1 > LastDelay = t3 - t4 > > Both delayS and delayUS is the same value, just printed in different time units. > > --- > Alex > > On Apr 21, 2014, at 5:38 PM, Azar Fazel wrote: > >> >> Hi Alex >> >> I'm new in ndnSIM. Could you please give me some hint on how can I measure the RTT for each interest? >> >> If I got it correct, it seems that "app-delay-tracer" gives this information. But I do not know what does "fulldelay" and "lastdelay" means? I have read the explanation of them from here: http://ndnsim.net/metric.html?highlight=fulldelay >> >> but it is very confusing. The delayS and delayUS gives the RTT for "one" interest or they aggregate the delays for all interests from the beginning of simulation? >> >> _______________________________________________ >> ndnSIM mailing list >> ndnSIM at lists.cs.ucla.edu >> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Mon Apr 21 21:47:39 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Mon, 21 Apr 2014 21:47:39 -0700 Subject: [ndnSIM] NDN-CCL and ndnSim In-Reply-To: References: Message-ID: Hi Leonid, The current implementation is a little bit outdated, but it does contain API that is similar to NDN-CCL (ndn.cxx implementation predates CCL and our new TLV packet format). In particular, you may saw "ndn.cxx" folder in ndnSIM, which basically the initial implementation of C++ NDN API. There is one basic example (https://github.com/NDN-Routing/ndnSIM/blob/master/examples/custom-apps/ndn-api-app.cc) in ndnSIM. Not sure if anybody else has used this API extensively. It is actually possible to write python applications using this API. I did a couple of simulation of real python code, running them inside the simulator. Unfortunately, this code is also outdated and I have very limited resources at the moment. It would be enormously great if somebody can provide help with making the code up-to-date. -- Alex On Apr 21, 2014, at 2:15 PM, L.Zeynalvand wrote: > Hi, > I am working on decentralized social networking over NDN, I found C++ and Javascript Common Client Libraries quite useful. Is there any way to use some code, based on NDN-CCL, in ndnSim simulations? > > Thank you for your time and consideration. > > -- > Leonid Zeynalvand > M.Sc Information Technology > Sharif University of Technology > From zeynalvand at ce.sharif.edu Tue Apr 22 08:46:32 2014 From: zeynalvand at ce.sharif.edu (L.Zeynalvand) Date: Tue, 22 Apr 2014 20:16:32 +0430 Subject: [ndnSIM] NDN-CCL and ndnSim In-Reply-To: References: Message-ID: Thank you Alex, That was really helpful. Best Regards, -- Leonid Zeynalvand M.Sc Information Technology Sharif University of Technology On 22.04.2014 09:17, Alex Afanasyev wrote: > Hi Leonid, > > The current implementation is a little bit outdated, but it does > contain API that is similar to NDN-CCL (ndn.cxx implementation > predates CCL and our new TLV packet format). In particular, you may > saw "ndn.cxx" folder in ndnSIM, which basically the initial > implementation of C++ NDN API. > > There is one basic example > > (https://github.com/NDN-Routing/ndnSIM/blob/master/examples/custom-apps/ndn-api-app.cc) > in ndnSIM. Not sure if anybody else has used this API extensively. > > It is actually possible to write python applications using this API. > I did a couple of simulation of real python code, running them inside > the simulator. Unfortunately, this code is also outdated and I have > very limited resources at the moment. It would be enormously great > if > somebody can provide help with making the code up-to-date. > > -- > Alex > > On Apr 21, 2014, at 2:15 PM, L.Zeynalvand > wrote: > >> Hi, >> I am working on decentralized social networking over NDN, I found >> C++ and Javascript Common Client Libraries quite useful. Is there any >> way to use some code, based on NDN-CCL, in ndnSim simulations? >> >> Thank you for your time and consideration. >> >> -- >> Leonid Zeynalvand >> M.Sc Information Technology >> Sharif University of Technology >> From m.mirzazad at gmail.com Tue Apr 22 12:31:26 2014 From: m.mirzazad at gmail.com (Maziar) Date: Tue, 22 Apr 2014 12:31:26 -0700 Subject: [ndnSIM] ndnSim, Consumer with multiple request prefixes Message-ID: <5356C38E.7010202@gmail.com> Hi, I want to run a scenario in which there exist multiple producers each with different prefixes, and some consumers requesting from any prefix. I tried using helper but consumers can only send requests for a single prefix. Is there any way to do that? Thanks Maz From joshjdevl at gmail.com Mon Apr 21 12:53:07 2014 From: joshjdevl at gmail.com (Josh J) Date: Mon, 21 Apr 2014 12:53:07 -0700 Subject: [ndnSIM] ZipfMandelbrot content size Message-ID: Hi, For the zipfmandelbrot http://ndnsim.net/applications.html#consumerzipfmandelbrot If I'm understanding the docs correctly, the zipf distribution is used to pattern the frequency of interest requests. Is there a way to configure the the size of the contents to vary according to zipf? Thanks, Josh -------------- next part -------------- An HTML attachment was scrubbed... URL: From joshjdevl at gmail.com Mon Apr 21 13:00:37 2014 From: joshjdevl at gmail.com (Josh J) Date: Mon, 21 Apr 2014 13:00:37 -0700 Subject: [ndnSIM] timing analysis Message-ID: Hi, I would like to perform timing analysis on the hop-by-hop flows. I found an application tracer here http://ndnsim.net/metric.html#application-level-trace-helper Though I'm interested to know if I can determine the following for each node 1) entry time of all interest, e.g. interest received (time and interest name) 2) exit time of all data, e.g. cache hit and data returned to requesting node (time and data name) 3) exit time of all interest, e.g. cache miss and interest sent to next hop (time and interest name) 4) entry time of all data, e.g. data is being returned for a satisfied interest and inserted into this node's cache (time and data name) Would I need to extend and modify the application level tracer? Thanks, Josh -------------- next part -------------- An HTML attachment was scrubbed... URL: From aida_87p at yahoo.com Tue Apr 22 03:03:26 2014 From: aida_87p at yahoo.com (Aida Bazmi) Date: Tue, 22 Apr 2014 03:03:26 -0700 (PDT) Subject: [ndnSIM] forwarding strategy Message-ID: <1398161006.3908.YahooMailNeo@web142702.mail.bf1.yahoo.com> hi I try to write new forwarding strategy for ndnsim.for each interest there are some face in fib.is there any method that I get? number of timedout interst on each face? thanks aida -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Tue Apr 22 12:51:34 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Tue, 22 Apr 2014 12:51:34 -0700 Subject: [ndnSIM] ZipfMandelbrot content size In-Reply-To: References: Message-ID: Hi Josh, Not currently. ConsumerZipfMandelbrot is a consumer, it sends only interests with the specified parameters. What you're talking needs to be implemented on a producer side. If you can implement ProducerZipfMandelbort (or some similar name), I would be very happy to incorporate your code into ndnSIM. --- Alex On Apr 21, 2014, at 12:53 PM, Josh J wrote: > Hi, > > For the zipfmandelbrot > http://ndnsim.net/applications.html#consumerzipfmandelbrot > > If I'm understanding the docs correctly, the zipf distribution is used to pattern the frequency of interest requests. Is there a way to configure the the size of the contents to vary according to zipf? > > Thanks, > Josh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From iliamo at ucla.edu Tue Apr 22 12:53:44 2014 From: iliamo at ucla.edu (Ilya Moiseenko) Date: Tue, 22 Apr 2014 15:53:44 -0400 Subject: [ndnSIM] ndnSim, Consumer with multiple request prefixes In-Reply-To: <5356C38E.7010202@gmail.com> References: <5356C38E.7010202@gmail.com> Message-ID: <95B9AD5D-F700-4971-8AA9-ED357AD01AC4@ucla.edu> Hi Maz, I would install multiple consumers on each node. Each consumer will request only a single prefix, but the whole node will request various prefixes. Ilya On Apr 22, 2014, at 3:31 PM, Maziar wrote: > Hi, > > I want to run a scenario in which there exist multiple producers each with different prefixes, and some consumers requesting from any prefix. I tried using helper but consumers can only send requests for a single prefix. > Is there any way to do that? > > Thanks > Maz > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim From alexander.afanasyev at ucla.edu Tue Apr 22 12:55:00 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Tue, 22 Apr 2014 12:55:00 -0700 Subject: [ndnSIM] ndnSim, Consumer with multiple request prefixes In-Reply-To: <5356C38E.7010202@gmail.com> References: <5356C38E.7010202@gmail.com> Message-ID: <20658D58-F741-497D-88B5-AD9A116FC266@ucla.edu> Hi Maziar, The existing consumers are very limited in the sense of prefix usage, but you can easily extend one of the existing consumers (or write a completely new one) to send either hard-coded or configured set of interests/prefixes. Check out applications section section of ndnsim.net (http://ndnsim.net/applications.html). --- Alex On Apr 22, 2014, at 12:31 PM, Maziar wrote: > Hi, > > I want to run a scenario in which there exist multiple producers each with different prefixes, and some consumers requesting from any prefix. I tried using helper but consumers can only send requests for a single prefix. > Is there any way to do that? > > Thanks > Maz From nasserala at gmail.com Wed Apr 23 13:17:30 2014 From: nasserala at gmail.com (=?UTF-8?Q?Andr=C3=A9_Luiz_Nasserala_Pires?=) Date: Wed, 23 Apr 2014 15:17:30 -0500 Subject: [ndnSIM] Periodic tracing of CS Message-ID: Hi, I'm needing to implement a way to periodically capture the CS occupation of a node for a given prefix. Could anyone help me on this? Example: time | #of contents | prefix | Node -------------------------------------------------------------- 1 | 23 | /prefix_test | RTR01 5 | 28 | /prefix_test | RTR01 10 | 38 | /prefix_test | RTR01 15 | 39 | /prefix_test | RTR01 20 | 43 | /prefix_test | RTR01 ..... -- _________________________________________ Prof. Msc. Andr? Luiz Nasserala Pires Analista de Sistemas Esp. em Redes de Computadores LPIC-1 / Novell CLA / RHEL5 / CCNA1-2 +55 (68) 9979-6658 Curr?culo Lattes: http://lattes.cnpq.br/2566007433985008 -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Wed Apr 23 16:08:11 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Wed, 23 Apr 2014 16:08:11 -0700 Subject: [ndnSIM] Periodic tracing of CS In-Reply-To: References: Message-ID: Hi Andr?, You can write something like this in your scenario: void printCsStats(Ptr node) { Ptr cs = node->GetObject(); std::cout << Simulator::Now() << ", " << cs->GetSize() << std::endl; Simulator::Schedule(Seconds(5), &printCsStats, node); } ... Simulator::Schedule(Seconds(5), &printCsStats, node); If you need per-prefix, then each time you have to enumerate all content items using Begin(), End(), and Next() ContentStore methods and calculate these stats before printing out. --- Alex On Apr 23, 2014, at 1:17 PM, Andr? Luiz Nasserala Pires wrote: > Hi, > > I'm needing to implement a way to periodically capture the CS occupation of a node for a given prefix. Could anyone help me on this? > > Example: > > > time | #of contents | prefix | Node > -------------------------------------------------------------- > 1 | 23 | /prefix_test | RTR01 > 5 | 28 | /prefix_test | RTR01 > 10 | 38 | /prefix_test | RTR01 > 15 | 39 | /prefix_test | RTR01 > 20 | 43 | /prefix_test | RTR01 > > > ..... > > -- > _________________________________________ > Prof. Msc. Andr? Luiz Nasserala Pires > Analista de Sistemas > Esp. em Redes de Computadores > LPIC-1 / Novell CLA / RHEL5 / CCNA1-2 > +55 (68) 9979-6658 > Curr?culo Lattes: > http://lattes.cnpq.br/2566007433985008 > _______________________________________________ > 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 aloulounarjes at yahoo.fr Thu Apr 24 01:36:26 2014 From: aloulounarjes at yahoo.fr (narjes aloulou) Date: Thu, 24 Apr 2014 09:36:26 +0100 (BST) Subject: [ndnSIM] Control messages Message-ID: <1398328586.16062.YahooMailNeo@web172105.mail.ir2.yahoo.com> Hi Alex and All, I want to define new control messages in order to send them in my new forwarding strategy.? What are the steps to define them? Thanks Best Regards -------------- next part -------------- An HTML attachment was scrubbed... URL: From drirawassim+ndnsim at gmail.com Thu Apr 24 02:09:27 2014 From: drirawassim+ndnsim at gmail.com (Wassim Drira) Date: Thu, 24 Apr 2014 12:09:27 +0300 Subject: [ndnSIM] Control messages In-Reply-To: <1398328586.16062.YahooMailNeo@web172105.mail.ir2.yahoo.com> References: <1398328586.16062.YahooMailNeo@web172105.mail.ir2.yahoo.com> Message-ID: Hi Narjes, You can implement your own header and send it in Data or Interest packets. http://netdb.cis.upenn.edu/rapidnet/doxygen/html/packet-header-trailer.html http://www.nsnam.org/wiki/HOWTO_create_a_new_type_of_protocol_header_or_trailer Regards, On Thu, Apr 24, 2014 at 11:36 AM, narjes aloulou wrote: > Hi Alex and All, > > I want to define new control messages in order to send them in my new > forwarding strategy. What are the steps to define them? > > Thanks > > Best Regards > > _______________________________________________ > 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 amin1431 at yahoo.com Thu Apr 24 03:31:08 2014 From: amin1431 at yahoo.com (amin1431) Date: Thu, 24 Apr 2014 03:31:08 -0700 (PDT) Subject: [ndnSIM] Content longevity in Cache Message-ID: <1398335468.48827.YahooMailNeo@web160105.mail.bf1.yahoo.com> Dear Friends, I have 3 questions regarding cached contents: 1- What is the default longevity value of contents in the cache? 2- What is the logical minimum and maximum value? 3- Can routers manipulate this value? Or is it assigned by producer? Best Regards, Armin -------------- next part -------------- An HTML attachment was scrubbed... URL: From shivangi_gautam_28 at yahoo.co.in Fri Apr 25 01:31:41 2014 From: shivangi_gautam_28 at yahoo.co.in (SHIVANGI GAUTAM) Date: Fri, 25 Apr 2014 16:31:41 +0800 (SGT) Subject: [ndnSIM] Need a solution Message-ID: <1398414701.30009.YahooMailNeo@web193501.mail.sg3.yahoo.com> Hi Everyone While running basic example of ndnSIM metrics on tree topology as mentioned in the same I made certain changes like adding content store to LRU ?and setting forwarding strategies to Best Route and then Flooding but when I saw the Rate.txt and Aggregate.txt ?no changes I was able to notice .Can anyone tell me why it was like that??? With Regards Shivangi Gautam GGSIPU India ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From aloulounarjes at yahoo.fr Fri Apr 25 07:36:11 2014 From: aloulounarjes at yahoo.fr (narjes aloulou) Date: Fri, 25 Apr 2014 15:36:11 +0100 (BST) Subject: [ndnSIM] Control messages In-Reply-To: References: <1398328586.16062.YahooMailNeo@web172105.mail.ir2.yahoo.com> Message-ID: <1398436571.58343.YahooMailNeo@web172104.mail.ir2.yahoo.com> Hi Wassim, Alex and All, Thanks Wassim for your response. In this case, I don't need to define a new class for my packet (as interest and data) just I must add the header definition in wire/ndnsim.cc and wire/ndnsim.h?? Best Regards Le Jeudi 24 avril 2014 10h09, Wassim Drira a ?crit : Hi Narjes, You can implement your own header and send it in Data or Interest packets. http://netdb.cis.upenn.edu/rapidnet/doxygen/html/packet-header-trailer.html http://www.nsnam.org/wiki/HOWTO_create_a_new_type_of_protocol_header_or_trailer Regards,? On Thu, Apr 24, 2014 at 11:36 AM, narjes aloulou wrote: Hi Alex and All, > > >I want to define new control messages in order to send them in my new forwarding strategy.? What are the steps to define them? > > >Thanks > > > >Best Regards >_______________________________________________ >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 alexander.afanasyev at ucla.edu Fri Apr 25 10:16:23 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Fri, 25 Apr 2014 10:16:23 -0700 Subject: [ndnSIM] Control messages In-Reply-To: <1398436571.58343.YahooMailNeo@web172104.mail.ir2.yahoo.com> References: <1398328586.16062.YahooMailNeo@web172105.mail.ir2.yahoo.com> <1398436571.58343.YahooMailNeo@web172104.mail.ir2.yahoo.com> Message-ID: <17EA828F-6607-41B3-9B7D-11291B3477A9@ucla.edu> Hi Narjes, If you go with Wassim suggestion, then you don't need to do any modifications to the wire format (in wire/ndnsim.cc). You would only need to add your new header to the "payload" of Interest and Data when appropriate (e.g., in consumer and producer apps). For Interests it is not real payload, but just to move your custom data. --- Alex On Apr 25, 2014, at 7:36 AM, narjes aloulou wrote: > > Hi Wassim, Alex and All, > > Thanks Wassim for your response. > In this case, I don't need to define a new class for my packet (as interest and data) just I must add the header definition in wire/ndnsim.cc and wire/ndnsim.h ? > > Best Regards > Le Jeudi 24 avril 2014 10h09, Wassim Drira a ?crit : > Hi Narjes, > > You can implement your own header and send it in Data or Interest packets. > > http://netdb.cis.upenn.edu/rapidnet/doxygen/html/packet-header-trailer.html > > http://www.nsnam.org/wiki/HOWTO_create_a_new_type_of_protocol_header_or_trailer > > Regards, > > > On Thu, Apr 24, 2014 at 11:36 AM, narjes aloulou wrote: > Hi Alex and All, > > I want to define new control messages in order to send them in my new forwarding strategy. What are the steps to define them? > > Thanks > > Best Regards > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > > > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim -------------- next part -------------- An HTML attachment was scrubbed... URL: From azarmehr65 at gmail.com Fri Apr 25 16:56:48 2014 From: azarmehr65 at gmail.com (Azar Fazel) Date: Fri, 25 Apr 2014 16:56:48 -0700 Subject: [ndnSIM] Unexpected increase in RTT Message-ID: Hi Alex I'm running this simple scenario: there are 3 nodes, one consumer, one producer and one router ( same as simple scenario in the Example page) they are connected together using p2p links with the bandwidth of 1Mbps and the maxPacket of 10000. The consumer is sending interests to the producer with the frequency of "1" ( 1 interest a second). I have a database of prefixes which consists of 1000 prefixes. In a loop ( 1000 times) each time the consumer randomly selects one of these prefixes and requests it. I have populated the RTT for each Interest by using "AppDelayTracer" and run the simulation for 200 seconds. But the delays that AppDelayTracer shows are increasing along with the time of simulation ( they starts with 0.017 us and at the end it is about 50 us). I tired to change the value of "maxPacket", but the issue still exists. Can you please give me some hint how can I interpret this growth of RTTs? Thanks Azar -------------- next part -------------- An HTML attachment was scrubbed... URL: From xinshengzzy at gmail.com Sat Apr 26 19:34:07 2014 From: xinshengzzy at gmail.com (Zongyi Zhao) Date: Sun, 27 Apr 2014 10:34:07 +0800 Subject: [ndnSIM] a bug in the ndnSIM source code Message-ID: <535C6C9F.9060008@gmail.com> Hi, all, I have just installed the ndnSIM in my ubuntu. In the process I have encountered some difficulty. Fortunately I have solved most of them. So here I want to report my discovery about the bug in the source code of ndnSIM. When I executed the flowing command: ./waf configure --boost-includes=/usr/local/include --boost-libs=/usr/local/lib --enable-examples ./waf The compiler told me the flowing message: "../src/ndnSIM/helper/ndn-global-routing-helper.cc: In static member function ?static void ns3::ndn::GlobalRoutingHelper::CalculateRoutes(bool)?: ../src/ndnSIM/helper/ndn-global-routing-helper.cc:248:68: error: typedef ?vertex_descriptor? locally defined but not used [-Werror=unused-local-typedefs] typedef graph_traits < NdnGlobalRouterGraph >::vertex_descriptor vertex_descriptor; ^ ../src/ndnSIM/helper/ndn-global-routing-helper.cc: In static member function ?static void ns3::ndn::GlobalRoutingHelper::CalculateAllPossibleRoutes(bool)?: ../src/ndnSIM/helper/ndn-global-routing-helper.cc:341:68: error: typedef ?vertex_descriptor? locally defined but not used [-Werror=unused-local-typedefs] typedef graph_traits < NdnGlobalRouterGraph >::vertex_descriptor vertex_descriptor;" So I commented out the line 248 and line 341 in file /src/ndnSIM/helper/ndn-global-routing-helper.cc, then it worked well. -- Zongyi Zhao From shivangi_gautam_28 at yahoo.co.in Sat Apr 26 20:57:38 2014 From: shivangi_gautam_28 at yahoo.co.in (SHIVANGI GAUTAM) Date: Sun, 27 Apr 2014 11:57:38 +0800 (SGT) Subject: [ndnSIM] Need a solution In-Reply-To: <1398414701.30009.YahooMailNeo@web193501.mail.sg3.yahoo.com> References: <1398414701.30009.YahooMailNeo@web193501.mail.sg3.yahoo.com> Message-ID: <1398571058.56043.YahooMailNeo@web193504.mail.sg3.yahoo.com> Please help If you want program I can attach it On Friday, 25 April 2014 2:03 PM, SHIVANGI GAUTAM wrote: Hi Everyone While running basic example of ndnSIM metrics on tree topology as mentioned in the same I made certain changes like adding content store to LRU ?and setting forwarding strategies to Best Route and then Flooding but when I saw the Rate.txt and Aggregate.txt ?no changes I was able to notice .Can anyone tell me why it was like that??? With Regards Shivangi Gautam GGSIPU India ? _______________________________________________ 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 iliamo at ucla.edu Sun Apr 27 08:25:21 2014 From: iliamo at ucla.edu (Ilya Moiseenko) Date: Sun, 27 Apr 2014 11:25:21 -0400 Subject: [ndnSIM] a bug in the ndnSIM source code In-Reply-To: <535C6C9F.9060008@gmail.com> References: <535C6C9F.9060008@gmail.com> Message-ID: Hi Zonguy, what version of Boost is installed on your ubuntu? Thanks for feedback Ilya On Apr 26, 2014, at 10:34 PM, Zongyi Zhao wrote: > Hi, all, > I have just installed the ndnSIM in my ubuntu. In the process I have encountered some difficulty. Fortunately I have solved most of them. So here I want to report my discovery about the bug in the source code of ndnSIM. > When I executed the flowing command: > ./waf configure --boost-includes=/usr/local/include --boost-libs=/usr/local/lib --enable-examples > ./waf > The compiler told me the flowing message: > > "../src/ndnSIM/helper/ndn-global-routing-helper.cc: In static member function ?static void ns3::ndn::GlobalRoutingHelper::CalculateRoutes(bool)?: > ../src/ndnSIM/helper/ndn-global-routing-helper.cc:248:68: error: typedef ?vertex_descriptor? locally defined but not used [-Werror=unused-local-typedefs] > typedef graph_traits < NdnGlobalRouterGraph >::vertex_descriptor vertex_descriptor; > ^ > ../src/ndnSIM/helper/ndn-global-routing-helper.cc: In static member function ?static void ns3::ndn::GlobalRoutingHelper::CalculateAllPossibleRoutes(bool)?: > ../src/ndnSIM/helper/ndn-global-routing-helper.cc:341:68: error: typedef ?vertex_descriptor? locally defined but not used [-Werror=unused-local-typedefs] > typedef graph_traits < NdnGlobalRouterGraph >::vertex_descriptor vertex_descriptor;" > > So I commented out the line 248 and line 341 in file /src/ndnSIM/helper/ndn-global-routing-helper.cc, then it worked well. > > -- > Zongyi Zhao > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim From iliamo at ucla.edu Sun Apr 27 08:26:56 2014 From: iliamo at ucla.edu (Ilya Moiseenko) Date: Sun, 27 Apr 2014 11:26:56 -0400 Subject: [ndnSIM] Need a solution In-Reply-To: <1398571058.56043.YahooMailNeo@web193504.mail.sg3.yahoo.com> References: <1398414701.30009.YahooMailNeo@web193501.mail.sg3.yahoo.com> <1398571058.56043.YahooMailNeo@web193504.mail.sg3.yahoo.com> Message-ID: <6AD10C9C-151A-4E27-890F-049F7098470D@ucla.edu> Yes, source file would probably help to understand. Ilya On Apr 26, 2014, at 11:57 PM, SHIVANGI GAUTAM wrote: > Please help If you want program I can attach it > On Friday, 25 April 2014 2:03 PM, SHIVANGI GAUTAM wrote: > Hi Everyone > While running basic example of ndnSIM metrics on tree topology as mentioned in the same I made certain changes like adding content store to LRU and setting forwarding strategies to Best Route and then Flooding but when I saw the Rate.txt and Aggregate.txt no changes I was able to notice .Can anyone tell me why it was like that??? > > > > With Regards > Shivangi Gautam > GGSIPU > India > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim -------------- next part -------------- An HTML attachment was scrubbed... URL: From aloulounarjes at yahoo.fr Sun Apr 27 09:40:53 2014 From: aloulounarjes at yahoo.fr (narjes aloulou) Date: Sun, 27 Apr 2014 17:40:53 +0100 (BST) Subject: [ndnSIM] Control messages In-Reply-To: <17EA828F-6607-41B3-9B7D-11291B3477A9@ucla.edu> References: <1398328586.16062.YahooMailNeo@web172105.mail.ir2.yahoo.com> <1398436571.58343.YahooMailNeo@web172104.mail.ir2.yahoo.com> <17EA828F-6607-41B3-9B7D-11291B3477A9@ucla.edu> Message-ID: <1398616853.61686.YahooMailNeo@web172106.mail.ir2.yahoo.com> Thanks for your Help Alex. Le Vendredi 25 avril 2014 18h16, Alex Afanasyev a ?crit : Hi Narjes, If you go with Wassim suggestion, then you don't need to do any modifications to the wire format (in wire/ndnsim.cc). ?You would only need to add your new header to the "payload" of Interest and Data when appropriate (e.g., in consumer and producer apps). ?For Interests it is not real payload, but just to move your custom data. --- Alex On Apr 25, 2014, at 7:36 AM, narjes aloulou wrote: >Hi Wassim, Alex and All, > > >Thanks Wassim for your response. >In this case, I don't need to define a new class for my packet (as interest and data) just I must add the header definition in wire/ndnsim.cc?and wire/ndnsim.h?? > > >Best Regards >Le Jeudi 24 avril 2014 10h09, Wassim Drira a ?crit : > >Hi Narjes, > > >You can implement your own header and send it in Data or Interest packets. > > >http://netdb.cis.upenn.edu/rapidnet/doxygen/html/packet-header-trailer.html > > >http://www.nsnam.org/wiki/HOWTO_create_a_new_type_of_protocol_header_or_trailer > > >Regards,? > > > >On Thu, Apr 24, 2014 at 11:36 AM, narjes aloulou??wrote: > >Hi Alex and All, >> >> >>I want to define new control messages in order to send them in my new forwarding strategy.? What are the steps to define them? >> >> >>Thanks >> >> >> >>Best Regards >>_______________________________________________ >>ndnSIM mailing list >>ndnSIM at lists.cs.ucla.edu >>http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >> >> > > >_______________________________________________ >ndnSIM mailing list >ndnSIM at lists.cs.ucla.edu >http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim -------------- next part -------------- An HTML attachment was scrubbed... URL: From zeynalvand at ce.sharif.edu Sun Apr 27 10:58:45 2014 From: zeynalvand at ce.sharif.edu (L.Zeynalvand) Date: Sun, 27 Apr 2014 22:28:45 +0430 Subject: [ndnSIM] a bug in the ndnSIM source code In-Reply-To: <535C6C9F.9060008@gmail.com> References: <535C6C9F.9060008@gmail.com> Message-ID: hi Zongyi, NdnSIM requires boost version at least 1.48. Ubuntu 12.04 ships with two versions of boost libraries and it is known that if both are installed, then compilation of ndnSIM will most likely fail. maybe that's your problem, but I'm afraid commenting out a line or two wont really solve your problem. Regards. -- Leonid Zeynalvand M.Sc Information Technology Sharif University of Technology On 27.04.2014 07:04, Zongyi Zhao wrote: > Hi, all, > I have just installed the ndnSIM in my ubuntu. In the process I have > encountered some difficulty. Fortunately I have solved most of them. > So here I want to report my discovery about the bug in the source > code > of ndnSIM. > When I executed the flowing command: > ./waf configure --boost-includes=/usr/local/include > --boost-libs=/usr/local/lib --enable-examples > ./waf > The compiler told me the flowing message: > > "../src/ndnSIM/helper/ndn-global-routing-helper.cc: In static member > function ?static void > ns3::ndn::GlobalRoutingHelper::CalculateRoutes(bool)?: > ../src/ndnSIM/helper/ndn-global-routing-helper.cc:248:68: error: > typedef ?vertex_descriptor? locally defined but not used > [-Werror=unused-local-typedefs] > typedef graph_traits < NdnGlobalRouterGraph >::vertex_descriptor > vertex_descriptor; > ^ > ../src/ndnSIM/helper/ndn-global-routing-helper.cc: In static member > function ?static void > ns3::ndn::GlobalRoutingHelper::CalculateAllPossibleRoutes(bool)?: > ../src/ndnSIM/helper/ndn-global-routing-helper.cc:341:68: error: > typedef ?vertex_descriptor? locally defined but not used > [-Werror=unused-local-typedefs] > typedef graph_traits < NdnGlobalRouterGraph >::vertex_descriptor > vertex_descriptor;" > > So I commented out the line 248 and line 341 in file > /src/ndnSIM/helper/ndn-global-routing-helper.cc, then it worked well. From zjzhou62 at mail.ustc.edu.cn Sun Apr 27 19:36:14 2014 From: zjzhou62 at mail.ustc.edu.cn (zjzhou62 at mail.ustc.edu.cn) Date: Mon, 28 Apr 2014 10:36:14 +0800 (CST) Subject: [ndnSIM] how to ndnSIM on a wifi node In-Reply-To: References: Message-ID: <4476108.387901398652574549.JavaMail.coremail@mailweb> Hi, I know ndnSIM can run top of any available link-layer protocol model. I think it MUST be implemented on a wifi node. In my simulation, I want to manually configure FIB between a wifi node and AP node, like ndn::StackHelper::AddRoute ("Node0", "/data","Node1", 1) and the Node0 is a wifi node. The packet cannot be forwarded. I see the definition of the function AddRoute. I found that the AddRoute just support point to point module. Evidently, Now I don't know what I should do in the next step. Can you please give me some hints how to configure FIB routes between a wifi node with a common node or between two wifi nodes thank you! Zijian Zhou > -----Original E-mail----- > From: ndnsim-request at lists.cs.ucla.edu > Sent Time: 2014-4-28 0:41:03 > To: ndnsim at lists.cs.ucla.edu > Cc: > Subject: ndnSIM Digest, Vol 17, Issue 14 > > Send ndnSIM mailing list submissions to > ndnsim at lists.cs.ucla.edu > > To subscribe or unsubscribe via the World Wide Web, visit > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > or, via email, send a message with subject or body 'help' to > ndnsim-request at lists.cs.ucla.edu > > You can reach the person managing the list at > ndnsim-owner at lists.cs.ucla.edu > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of ndnSIM digest..." > > > Today's Topics: > > 1. Unexpected increase in RTT (Azar Fazel) > 2. a bug in the ndnSIM source code (Zongyi Zhao) > 3. Re: Need a solution (SHIVANGI GAUTAM) > 4. Re: a bug in the ndnSIM source code (Ilya Moiseenko) > 5. Re: Need a solution (Ilya Moiseenko) > 6. Re: Control messages (narjes aloulou) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Fri, 25 Apr 2014 16:56:48 -0700 > From: Azar Fazel > To: Alex Afanasyev , > ndnsim at lists.cs.ucla.edu > Subject: [ndnSIM] Unexpected increase in RTT > Message-ID: > > Content-Type: text/plain; charset="utf-8" > > Hi Alex > > I'm running this simple scenario: there are 3 nodes, one consumer, one > producer and one router ( same as simple scenario in the Example page) > they are connected together using p2p links with the bandwidth of 1Mbps > and the maxPacket of 10000. The consumer is sending interests to the > producer with the frequency of "1" ( 1 interest a second). > I have a database of prefixes which consists of 1000 prefixes. In a loop ( > 1000 times) each time the consumer randomly selects one of these prefixes > and requests it. > > I have populated the RTT for each Interest by using "AppDelayTracer" and > run the simulation for 200 seconds. > > But the delays that AppDelayTracer shows are increasing along with the > time of simulation ( they starts with 0.017 us and at the end it is about > 50 us). I tired to change the value of "maxPacket", but the issue still > exists. > > Can you please give me some hint how can I interpret this growth of RTTs? > > Thanks > Azar > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > > ------------------------------ > > Message: 2 > Date: Sun, 27 Apr 2014 10:34:07 +0800 > From: Zongyi Zhao > To: ndnSIM > Subject: [ndnSIM] a bug in the ndnSIM source code > Message-ID: <535C6C9F.9060008 at gmail.com> > Content-Type: text/plain; charset=windows-1252; format=flowed > > Hi, all, > I have just installed the ndnSIM in my ubuntu. In the process I have > encountered some difficulty. Fortunately I have solved most of them. So > here I want to report my discovery about the bug in the source code of > ndnSIM. > When I executed the flowing command: > ./waf configure --boost-includes=/usr/local/include > --boost-libs=/usr/local/lib --enable-examples > ./waf > The compiler told me the flowing message: > > "../src/ndnSIM/helper/ndn-global-routing-helper.cc: In static member > function ?static void ns3::ndn::GlobalRoutingHelper::CalculateRoutes(bool)?: > ../src/ndnSIM/helper/ndn-global-routing-helper.cc:248:68: error: typedef > ?vertex_descriptor? locally defined but not used > [-Werror=unused-local-typedefs] > typedef graph_traits < NdnGlobalRouterGraph >::vertex_descriptor > vertex_descriptor; > ^ > ../src/ndnSIM/helper/ndn-global-routing-helper.cc: In static member > function ?static void > ns3::ndn::GlobalRoutingHelper::CalculateAllPossibleRoutes(bool)?: > ../src/ndnSIM/helper/ndn-global-routing-helper.cc:341:68: error: typedef > ?vertex_descriptor? locally defined but not used > [-Werror=unused-local-typedefs] > typedef graph_traits < NdnGlobalRouterGraph >::vertex_descriptor > vertex_descriptor;" > > So I commented out the line 248 and line 341 in file > /src/ndnSIM/helper/ndn-global-routing-helper.cc, then it worked well. > > -- > Zongyi Zhao > > > > ------------------------------ > > Message: 3 > Date: Sun, 27 Apr 2014 11:57:38 +0800 (SGT) > From: SHIVANGI GAUTAM > To: "ndnsim at lists.cs.ucla.edu" > Subject: Re: [ndnSIM] Need a solution > Message-ID: > <1398571058.56043.YahooMailNeo at web193504.mail.sg3.yahoo.com> > Content-Type: text/plain; charset="iso-8859-1" > > Please help If you want program I can attach it > > On Friday, 25 April 2014 2:03 PM, SHIVANGI GAUTAM wrote: > > Hi Everyone > While running basic example of ndnSIM metrics on tree topology as mentioned in the same I made certain changes like adding content store to LRU ?and setting forwarding strategies to Best Route and then Flooding but when I saw the Rate.txt and Aggregate.txt ?no changes I was able to notice .Can anyone tell me why it was like that??? > > > > With Regards > Shivangi Gautam > GGSIPU > India ? > _______________________________________________ > 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: > > ------------------------------ > > Message: 4 > Date: Sun, 27 Apr 2014 11:25:21 -0400 > From: Ilya Moiseenko > To: Zongyi Zhao > Cc: ndnSIM > Subject: Re: [ndnSIM] a bug in the ndnSIM source code > Message-ID: > Content-Type: text/plain; charset=windows-1252 > > Hi Zonguy, > what version of Boost is installed on your ubuntu? > > Thanks for feedback > Ilya > > On Apr 26, 2014, at 10:34 PM, Zongyi Zhao wrote: > > > Hi, all, > > I have just installed the ndnSIM in my ubuntu. In the process I have encountered some difficulty. Fortunately I have solved most of them. So here I want to report my discovery about the bug in the source code of ndnSIM. > > When I executed the flowing command: > > ./waf configure --boost-includes=/usr/local/include --boost-libs=/usr/local/lib --enable-examples > > ./waf > > The compiler told me the flowing message: > > > > "../src/ndnSIM/helper/ndn-global-routing-helper.cc: In static member function ?static void ns3::ndn::GlobalRoutingHelper::CalculateRoutes(bool)?: > > ../src/ndnSIM/helper/ndn-global-routing-helper.cc:248:68: error: typedef ?vertex_descriptor? locally defined but not used [-Werror=unused-local-typedefs] > > typedef graph_traits < NdnGlobalRouterGraph >::vertex_descriptor vertex_descriptor; > > ^ > > ../src/ndnSIM/helper/ndn-global-routing-helper.cc: In static member function ?static void ns3::ndn::GlobalRoutingHelper::CalculateAllPossibleRoutes(bool)?: > > ../src/ndnSIM/helper/ndn-global-routing-helper.cc:341:68: error: typedef ?vertex_descriptor? locally defined but not used [-Werror=unused-local-typedefs] > > typedef graph_traits < NdnGlobalRouterGraph >::vertex_descriptor vertex_descriptor;" > > > > So I commented out the line 248 and line 341 in file /src/ndnSIM/helper/ndn-global-routing-helper.cc, then it worked well. > > > > -- > > Zongyi Zhao > > > > _______________________________________________ > > ndnSIM mailing list > > ndnSIM at lists.cs.ucla.edu > > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > > > > ------------------------------ > > Message: 5 > Date: Sun, 27 Apr 2014 11:26:56 -0400 > From: Ilya Moiseenko > To: SHIVANGI GAUTAM > Cc: "ndnsim at lists.cs.ucla.edu" > Subject: Re: [ndnSIM] Need a solution > Message-ID: <6AD10C9C-151A-4E27-890F-049F7098470D at ucla.edu> > Content-Type: text/plain; charset="iso-8859-1" > > Yes, source file would probably help to understand. > > Ilya > > On Apr 26, 2014, at 11:57 PM, SHIVANGI GAUTAM wrote: > > > Please help If you want program I can attach it > > On Friday, 25 April 2014 2:03 PM, SHIVANGI GAUTAM wrote: > > Hi Everyone > > While running basic example of ndnSIM metrics on tree topology as mentioned in the same I made certain changes like adding content store to LRU and setting forwarding strategies to Best Route and then Flooding but when I saw the Rate.txt and Aggregate.txt no changes I was able to notice .Can anyone tell me why it was like that??? > > > > > > > > With Regards > > Shivangi Gautam > > GGSIPU > > India > > > > _______________________________________________ > > ndnSIM mailing list > > ndnSIM at lists.cs.ucla.edu > > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > > > > > _______________________________________________ > > ndnSIM mailing list > > ndnSIM at lists.cs.ucla.edu > > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > > ------------------------------ > > Message: 6 > Date: Sun, 27 Apr 2014 17:40:53 +0100 (BST) > From: narjes aloulou > To: Alex Afanasyev > Cc: "ndnsim at lists.cs.ucla.edu" > Subject: Re: [ndnSIM] Control messages > Message-ID: > <1398616853.61686.YahooMailNeo at web172106.mail.ir2.yahoo.com> > Content-Type: text/plain; charset="iso-8859-1" > > Thanks for your Help Alex. > Le Vendredi 25 avril 2014 18h16, Alex Afanasyev a ?crit : > > Hi Narjes, > > If you go with Wassim suggestion, then you don't need to do any modifications to the wire format (in wire/ndnsim.cc). ?You would only need to add your new header to the "payload" of Interest and Data when appropriate (e.g., in consumer and producer apps). ?For Interests it is not real payload, but just to move your custom data. > > --- > Alex > > > On Apr 25, 2014, at 7:36 AM, narjes aloulou wrote: > > > >Hi Wassim, Alex and All, > > > > > >Thanks Wassim for your response. > >In this case, I don't need to define a new class for my packet (as interest and data) just I must add the header definition in wire/ndnsim.cc?and wire/ndnsim.h?? > > > > > >Best Regards > >Le Jeudi 24 avril 2014 10h09, Wassim Drira a ?crit : > > > >Hi Narjes, > > > > > >You can implement your own header and send it in Data or Interest packets. > > > > > >http://netdb.cis.upenn.edu/rapidnet/doxygen/html/packet-header-trailer.html > > > > > >http://www.nsnam.org/wiki/HOWTO_create_a_new_type_of_protocol_header_or_trailer > > > > > >Regards,? > > > > > > > >On Thu, Apr 24, 2014 at 11:36 AM, narjes aloulou??wrote: > > > >Hi Alex and All, > >> > >> > >>I want to define new control messages in order to send them in my new forwarding strategy.? What are the steps to define them? > >> > >> > >>Thanks > >> > >> > >> > >>Best Regards > >>_______________________________________________ > >>ndnSIM mailing list > >>ndnSIM at lists.cs.ucla.edu > >>http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > >> > >> > > > > > >_______________________________________________ > >ndnSIM mailing list > >ndnSIM at lists.cs.ucla.edu > >http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > > ------------------------------ > > Subject: Digest Footer > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > > ------------------------------ > > End of ndnSIM Digest, Vol 17, Issue 14 > ************************************** -- ???????????? ??? Zijian Zhou Email?zjzhou62 at mail.ustc.edu.cn Mobile:13739258780 From zjzhou62 at mail.ustc.edu.cn Sun Apr 27 19:43:00 2014 From: zjzhou62 at mail.ustc.edu.cn (zjzhou62 at mail.ustc.edu.cn) Date: Mon, 28 Apr 2014 10:43:00 +0800 (CST) Subject: [ndnSIM] how to configure FIB route between two wifi nodes In-Reply-To: References: Message-ID: <20961378.388911398652980182.JavaMail.coremail@mailweb> Hi, I know ndnSIM can run top of any available link-layer protocol model. I think it MUST be implemented on a wifi node. In my simulation, I want to manually configure FIB between a wifi node and AP node, like ndn::StackHelper::AddRoute ("Node0", "/data","Node1", 1) and the Node0 is a wifi node. The packet cannot be forwarded. I see the definition of the function AddRoute. I found that the AddRoute just support point to point module. Evidently, Now I don't know what I should do in the next step. Can you please give me some hints how to configure FIB routes between a wifi node with a common node or between two wifi nodes thank you! Zijian Zhou From alexander.afanasyev at ucla.edu Mon Apr 28 14:03:24 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Mon, 28 Apr 2014 14:03:24 -0700 Subject: [ndnSIM] how to configure FIB route between two wifi nodes In-Reply-To: <20961378.388911398652980182.JavaMail.coremail@mailweb> References: <20961378.388911398652980182.JavaMail.coremail@mailweb> Message-ID: Hi Ziajian, This specific version of AddRoute only works with point-to-point links. You could use the other version, which for the third parameter, instead of node name accepts either Ptr or face ID. You would need to figure out in your scenario the proper ID. The ID usually matches interface name, but you can double check by a simple debug trial. You can also try to extend the first AddRoute method to work with other links, but it would not be efficient and not quite sure if it can even work correctly. --- Alex On Apr 27, 2014, at 7:43 PM, zjzhou62 at mail.ustc.edu.cn wrote: > Hi, > I know ndnSIM can run top of any available link-layer protocol model. I think it MUST be implemented on a wifi node. In my simulation, I want to manually configure FIB between a wifi node and AP node, like ndn::StackHelper::AddRoute ("Node0", "/data","Node1", 1) and the Node0 is a wifi node. The packet cannot be forwarded. I see the definition of the function AddRoute. I found that the AddRoute just support point to point module. Evidently, Now I don't know what I should do in the next step. Can you please give me some hints how to configure FIB routes between a wifi node with a common node or between two wifi nodes > thank you! > Zijian Zhou > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim From alexander.afanasyev at ucla.edu Mon Apr 28 15:40:12 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Mon, 28 Apr 2014 15:40:12 -0700 Subject: [ndnSIM] a bug in the ndnSIM source code In-Reply-To: References: <535C6C9F.9060008@gmail.com> Message-ID: <92B1637C-2C4C-4DD4-8B0C-9F0280068BF7@ucla.edu> Hi guys, This specific problem doesn't seem to be boost-related. It is just new compilers are more verbose in reporting various harmless warnings and they are treated (unless CXXFLAGS is overriden) as errors in NS-3. I have used Zongyi's suggestion and commented out those unnecessary variables (applied in commit c837263e082983a28d4b695d577fedf5ac7707ef). --- Alex On Apr 27, 2014, at 10:58 AM, L.Zeynalvand wrote: > hi Zongyi, > NdnSIM requires boost version at least 1.48. Ubuntu 12.04 ships with two versions of boost libraries and it is known that if both are installed, then compilation of ndnSIM will most likely fail. > maybe that's your problem, but I'm afraid commenting out a line or two wont really solve your problem. > > Regards. > -- > Leonid Zeynalvand > M.Sc Information Technology > Sharif University of Technology > > > On 27.04.2014 07:04, Zongyi Zhao wrote: >> Hi, all, >> I have just installed the ndnSIM in my ubuntu. In the process I have >> encountered some difficulty. Fortunately I have solved most of them. >> So here I want to report my discovery about the bug in the source code >> of ndnSIM. >> When I executed the flowing command: >> ./waf configure --boost-includes=/usr/local/include >> --boost-libs=/usr/local/lib --enable-examples >> ./waf >> The compiler told me the flowing message: >> >> "../src/ndnSIM/helper/ndn-global-routing-helper.cc: In static member >> function ?static void >> ns3::ndn::GlobalRoutingHelper::CalculateRoutes(bool)?: >> ../src/ndnSIM/helper/ndn-global-routing-helper.cc:248:68: error: >> typedef ?vertex_descriptor? locally defined but not used >> [-Werror=unused-local-typedefs] >> typedef graph_traits < NdnGlobalRouterGraph >::vertex_descriptor >> vertex_descriptor; >> ^ >> ../src/ndnSIM/helper/ndn-global-routing-helper.cc: In static member >> function ?static void >> ns3::ndn::GlobalRoutingHelper::CalculateAllPossibleRoutes(bool)?: >> ../src/ndnSIM/helper/ndn-global-routing-helper.cc:341:68: error: >> typedef ?vertex_descriptor? locally defined but not used >> [-Werror=unused-local-typedefs] >> typedef graph_traits < NdnGlobalRouterGraph >::vertex_descriptor >> vertex_descriptor;" >> >> So I commented out the line 248 and line 341 in file >> /src/ndnSIM/helper/ndn-global-routing-helper.cc, then it worked well. From zhangxuebei1215 at 163.com Sun Apr 27 19:59:17 2014 From: zhangxuebei1215 at 163.com (zhangxuebei) Date: Mon, 28 Apr 2014 10:59:17 +0800 (CST) Subject: [ndnSIM] Problems about the suppress of PIT Message-ID: Hi! I use the ndnSIM to do my research about the influence of the suppress of PIT. So I want to turn down the function of suppress,that is when a CCN node receive a similar interest from different face,I need the PIT creates a new pit entry.(Do you understand me?) Now I think maybe I need to modify the function OnInterest() in ForwardingStrategy.cc . Is that right? but it is always fail, I really need your help!!!! Because my time is limited? I beg your reply sincerely!! Thank you sooooooo much! Best regards! Zhang p.s : This is the code I modified,but it is failed. Other place is the same as the original,just this section of OnInterest() is modified. void ForwardingStrategy::OnInterest (Ptr inFace, Ptr interest) { if (similarInterest && ShouldSuppressIncomingInterest (inFace, interest, pitEntry)) { Ptr similarpitEntry = m_pit->Create (interest); if (similarpitEntry != 0) { DidCreatePitEntry (inFace, interest, similarpitEntry); similarpitEntry->AddIncoming(inFace); similarpitEntry->UpdateLifetime(interest->GetInterestLifetime()); DidForwardSimilarInterest(inFace, interest,similarpitEntry ); } else { FailedToCreatePitEntry (inFace, interest); return; } //pitEntry->AddIncoming (inFace/*, interest->GetInterestLifetime ()*/); // update PIT entry lifetime //pitEntry->UpdateLifetime (interest->GetInterestLifetime ()); // Suppress this interest if we're still expecting data from some other face //NS_LOG_DEBUG ("Suppress interests"); //m_dropInterests (interest, inFace); //DidSuppressSimilarInterest (inFace, interest, pitEntry); return; } } -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Mon Apr 28 15:47:36 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Mon, 28 Apr 2014 15:47:36 -0700 Subject: [ndnSIM] Problems about the suppress of PIT In-Reply-To: References: Message-ID: Hi Zhang, It is a little bit confusing to me. It doesn't make sense (and kind of impossible in ndnSIM) to create a new PIT entry for the same name prefix. When you receive a similar Interest, you should just remember the incoming face inside the same PIT entry, but not to create a new one. The question of whether to suppress the transmission of the interest further is a different one. For that, you could modify ShouldSuppressIncomingInterest to always return false, removing function of "supporessing" similar Interest transmission. --- Alex On Apr 27, 2014, at 7:59 PM, zhangxuebei wrote: > Hi! > I use the ndnSIM to do my research about the influence of the suppress of PIT. > So I want to turn down the function of suppress,that is when a CCN node receive a similar interest from different face,I need the PIT creates a new pit entry.(Do you understand me?) > Now I think maybe I need to modify the function OnInterest() in ForwardingStrategy.cc . Is that right? but it is always fail, I really need your help!!!! > Because my time is limited? I beg your reply sincerely!! > Thank you sooooooo much! > Best regards! > > Zhang > > p.s : This is the code I modified,but it is failed. Other place is the same as the original,just this section of OnInterest() is modified. > > > void > ForwardingStrategy::OnInterest (Ptr inFace, > Ptr interest) > { > > > if (similarInterest && ShouldSuppressIncomingInterest (inFace, interest, pitEntry)) > { > Ptr similarpitEntry = m_pit->Create (interest); > if (similarpitEntry != 0) > { > DidCreatePitEntry (inFace, interest, similarpitEntry); > > similarpitEntry->AddIncoming(inFace); > similarpitEntry->UpdateLifetime(interest->GetInterestLifetime()); > DidForwardSimilarInterest(inFace, interest,similarpitEntry ); > } > else > { > FailedToCreatePitEntry (inFace, interest); > return; > } > //pitEntry->AddIncoming (inFace/*, interest->GetInterestLifetime ()*/); > // update PIT entry lifetime > //pitEntry->UpdateLifetime (interest->GetInterestLifetime ()); > > // Suppress this interest if we're still expecting data from some other face > //NS_LOG_DEBUG ("Suppress interests"); > //m_dropInterests (interest, inFace); > > //DidSuppressSimilarInterest (inFace, interest, pitEntry); > return; > } > > > } -------------- next part -------------- An HTML attachment was scrubbed... URL: From aloulounarjes at yahoo.fr Tue Apr 29 07:54:12 2014 From: aloulounarjes at yahoo.fr (narjes aloulou) Date: Tue, 29 Apr 2014 15:54:12 +0100 (BST) Subject: [ndnSIM] Searching fib face Message-ID: <1398783252.4902.YahooMailNeo@web172102.mail.ir2.yahoo.com> Hi Alex and All, My context: When a node receives an interest, it will send it to a specific node after changing it. So, how can i find the outgoing face towards this specific node. (I suppose that there is only one route towards this node by this prefix ("/SpecificNode")) I use this code in the method DoPropagateInterest in my forwarding strategy. ? Ptr node = this->GetObject (); ? Ptr fibEntryNode =node->GetObject ()->Find (ndn::Name ("/SpecificNode")); My question: how i can find? the outgoing face ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From htunhtunu at gmail.com Wed Apr 30 01:14:24 2014 From: htunhtunu at gmail.com (Tun Tun Oo) Date: Wed, 30 Apr 2014 17:14:24 +0900 Subject: [ndnSIM] Reading and Removing Tag in Data Packet Message-ID: Dear Alex, In my customize forwarding, I want to send local information of every hop by tagging data packet. When router received data, it read tag and then remove it and add it again router information. But I found a problem when I remove the tag. Actually I think I cannot remove the tag. MyTag tag; bool isTag = data->GetPayload()->PeekPacketTag(tag); if (isQueueTag) { read = tag.GetTag(); NS_LOG_INFO ("Infomation "<< read << " : received from data > "<< data->GetName()); //to remove tag ConstCast(data->GetPayload())->RemovePacketTag (tag); if (tag.GetTag != 0) std::cout << "Cannot Remove the tag in data > "<< data->GetName()< From zeynalvand at ce.sharif.edu Wed Apr 30 03:28:39 2014 From: zeynalvand at ce.sharif.edu (L.Zeynalvand) Date: Wed, 30 Apr 2014 14:58:39 +0430 Subject: [ndnSIM] encryption in ndnSim Message-ID: Hi All, To simulate protocols which use encryption, does it make any difference to actually encrypt the payload and decrypt it on the other side? I guess it will make the simulation significantly slower and won't affect the final simulation results since (again as I guess) it is transparent to current version of ndnSim. Best Regards. -- Leonid Zeynalvand M.Sc Information Technology Sharif University of Technology From joshjdevl at gmail.com Wed Apr 30 10:24:23 2014 From: joshjdevl at gmail.com (Josh J) Date: Wed, 30 Apr 2014 10:24:23 -0700 Subject: [ndnSIM] logging OnInterest and OnData on every node Message-ID: Hi, So if I enable logging, the consumer and producer nodes will log their OnInterest, OnData, and SendPacket messages allowing me to observe the timings of interest and data at the consumer and producer. 0s 0 ndn.ConsumerZipfMandelbrot:SendPacket(): [INFO ] > Interest for 62, Total: 1, face: 1 0.020512s 2 ndn.Producer:OnInterest(): [INFO ] node(2) respodning with Data: /prefix/%00%3E 0.057504s 0 ndn.Consumer:OnData(): [INFO ] < DATA for 62 How can I view the timing of the intermediate node? I thought maybe to enable logging in the face api, though I don't see any face messages? NS_LOG=ndn.ApiFace:ndn.ConsumerZipfMandelbrot:ndn.Consumer:ndn.Producer Thanks in advance, Josh -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Wed Apr 30 11:20:22 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Wed, 30 Apr 2014 11:20:22 -0700 Subject: [ndnSIM] logging OnInterest and OnData on every node In-Reply-To: References: Message-ID: <1FE85B09-DACF-4CEC-A9AF-A6B58B15D4F7@ucla.edu> Hi Josh, For intermediate nodes, you can have multiple places to enable logging. This could be ndn.fw, ndn.fw.BestRoute (or other strategy's name you're using), ndn.Face NS_LOG=ndn.Producer:ndn.Consumer:ndn.fw ./waf --run=... The most verbose logging you would get with (but it will be definitely too much, as it would include everything from NS-3's processing as well). NS_LOG=* ./waf run=... --- Alex On Apr 30, 2014, at 10:24 AM, Josh J wrote: > Hi, > > So if I enable logging, the consumer and producer nodes will log their OnInterest, OnData, and SendPacket messages allowing me to observe the timings of interest and data at the consumer and producer. > > 0s 0 ndn.ConsumerZipfMandelbrot:SendPacket(): [INFO ] > Interest for 62, Total: 1, face: 1 > 0.020512s 2 ndn.Producer:OnInterest(): [INFO ] node(2) respodning with Data: /prefix/%00%3E > 0.057504s 0 ndn.Consumer:OnData(): [INFO ] < DATA for 62 > > > How can I view the timing of the intermediate node? I thought maybe to enable logging in the face api, though I don't see any face messages? > > NS_LOG=ndn.ApiFace:ndn.ConsumerZipfMandelbrot:ndn.Consumer:ndn.Producer > > Thanks in advance, > Josh > _______________________________________________ > 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 alexander.afanasyev at ucla.edu Wed Apr 30 21:06:31 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Wed, 30 Apr 2014 21:06:31 -0700 Subject: [ndnSIM] encryption in ndnSim In-Reply-To: References: Message-ID: <39F17CB4-713E-481F-B2C5-67EF84CA524B@ucla.edu> Hi Leonid, My opinion on this is that it doesn't make sense to run actual encryption. Since it is simulation, you can always know which packet is "good" and which is "bad" (either with some evil bit or some other way). Just in case, with Data::SetSignature in ndnSIM you can easily implement the "evil bit" approach in your simulation scenario. Moreover, NS-3 normally passes around packets with virtual payload. This payload is not actual data, but just a counter, tracking how much data is in the payload. If you would do signing/encryption, then you would have to pass around actual packets, which could have significant impact on memory. On Apr 30, 2014, at 3:28 AM, L.Zeynalvand wrote: > Hi All, > To simulate protocols which use encryption, does it make any difference to actually encrypt the payload and decrypt it on the other side? I guess it will make the simulation significantly slower and won't affect the final simulation results since (again as I guess) it is transparent to current version of ndnSim. > > Best Regards. > > -- > Leonid Zeynalvand > M.Sc Information Technology > Sharif University of Technology From alexander.afanasyev at ucla.edu Wed Apr 30 21:09:14 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Wed, 30 Apr 2014 21:09:14 -0700 Subject: [ndnSIM] Reading and Removing Tag in Data Packet In-Reply-To: References: Message-ID: <874F503B-C477-43A7-95E8-33B5651C83E4@ucla.edu> Hi Tun, You didn't mention what exactly is the problem / error message? From the code you gave, I see that you assigned result of PeekPacketTag check to `isTag` variable, but used `isQueueTag` variable in the condition. --- Alex On Apr 30, 2014, at 1:14 AM, Tun Tun Oo wrote: > Dear Alex, > > In my customize forwarding, I want to send local information of every hop by tagging data packet. > When router received data, it read tag and then remove it and add it again router information. > But I found a problem when I remove the tag. Actually I think I cannot remove the tag. > > > MyTag tag; > bool isTag = data->GetPayload()->PeekPacketTag(tag); > if (isQueueTag) > { > read = tag.GetTag(); > NS_LOG_INFO ("Infomation "<< read << " : received from data > "<< data->GetName()); > > //to remove tag > ConstCast(data->GetPayload())->RemovePacketTag (tag); > > if (tag.GetTag != 0) > std::cout << "Cannot Remove the tag in data > "<< data->GetName()< } > > Could you give me an advice how should I do it? > > regards > TUN -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Wed Apr 30 21:12:27 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Wed, 30 Apr 2014 21:12:27 -0700 Subject: [ndnSIM] Searching fib face In-Reply-To: <1398783252.4902.YahooMailNeo@web172102.mail.ir2.yahoo.com> References: <1398783252.4902.YahooMailNeo@web172102.mail.ir2.yahoo.com> Message-ID: <75DC698F-6C24-41C4-A038-26C329AA9249@ucla.edu> Hi Narjes, If you're doing this processing within the forwarding strategy, then onInterest method has `inFace` parameter, which you can use directly to do what you want. Unless I'm misunderstanding something. --- Alex On Apr 29, 2014, at 7:54 AM, narjes aloulou wrote: > Hi Alex and All, > > My context: > When a node receives an interest, it will send it to a specific node after changing it. > So, how can i find the outgoing face towards this specific node. > (I suppose that there is only one route towards this node by this prefix ("/SpecificNode")) > > I use this code in the method DoPropagateInterest in my forwarding strategy. > > Ptr node = this->GetObject (); > Ptr fibEntryNode =node->GetObject ()->Find (ndn::Name ("/SpecificNode")); > > My question: > how i can find the outgoing face ? > -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Wed Apr 30 21:23:58 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Wed, 30 Apr 2014 21:23:58 -0700 Subject: [ndnSIM] Content longevity in Cache In-Reply-To: <1398335468.48827.YahooMailNeo@web160105.mail.bf1.yahoo.com> References: <1398335468.48827.YahooMailNeo@web160105.mail.bf1.yahoo.com> Message-ID: <6C07E3B0-CA89-426E-8B1F-E001B930866F@ucla.edu> Hi Amin, 1. Depending on implementation of cache you're using, longevity either defined by the traffic pattern or via Freshness parameter in Data packets (http://ndnsim.net/cs.html). 2. "Logical minimum" is zero nanoseconds, "logical maximum" is + infitinty 3. ContentStore policy can have full control over this value. That is, one policy can completely ignore Freshness parameter in Data packets (e.g., as it is with default policy) or use the exact value specified by the data producer (ns3::ndn::cs::Freshness::* ContentStores). --- Alex On Apr 24, 2014, at 3:31 AM, amin1431 wrote: > Dear Friends, > > I have 3 questions regarding cached contents: > > 1- What is the default longevity value of contents in the cache? > 2- What is the logical minimum and maximum value? > 3- Can routers manipulate this value? Or is it assigned by producer? > > > Best Regards, > Armin -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Wed Apr 30 21:26:39 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Wed, 30 Apr 2014 21:26:39 -0700 Subject: [ndnSIM] Unexpected increase in RTT In-Reply-To: References: Message-ID: <0B90D3D5-4BA2-4FC3-A65B-E4F680BE00B3@ucla.edu> Hi Azar, Which delays are you looking at? FullDelay or LastDelay. The first one includes all overhead of consumer retransmissions. Btw, how large is your RTT? Usually for 1Mbps (with realistic delays) there is really no much value of having maxPackets more than a couple. --- Alex On Apr 25, 2014, at 4:56 PM, Azar Fazel wrote: > Hi Alex > > I'm running this simple scenario: there are 3 nodes, one consumer, one producer and one router ( same as simple scenario in the Example page) > they are connected together using p2p links with the bandwidth of 1Mbps and the maxPacket of 10000. The consumer is sending interests to the producer with the frequency of "1" ( 1 interest a second). > I have a database of prefixes which consists of 1000 prefixes. In a loop ( 1000 times) each time the consumer randomly selects one of these prefixes and requests it. > > I have populated the RTT for each Interest by using "AppDelayTracer" and run the simulation for 200 seconds. > > But the delays that AppDelayTracer shows are increasing along with the time of simulation ( they starts with 0.017 us and at the end it is about 50 us). I tired to change the value of "maxPacket", but the issue still exists. > > Can you please give me some hint how can I interpret this growth of RTTs? > > Thanks > Azar > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim From htunhtunu at gmail.com Wed Apr 30 23:47:19 2014 From: htunhtunu at gmail.com (Tun Tun Oo) Date: Thu, 1 May 2014 15:47:19 +0900 Subject: [ndnSIM] Reading and Removing Tag in Data Packet Message-ID: Dear Alex, Sorry,it is my typing error. The correct code is: MyTag tag; bool isTag = data->GetPayload()->PeekPacketTag(tag); if (isTag) { read = tag.GetTag(); NS_LOG_INFO ("Infomation "<< read << " : received from data > "<< data->GetName()); //to remove tag ConstCast(data->GetPayload())->RemovePacketTag (tag); if (tag.GetTag () != 0) std::cout << "Cannot Remove the tag in data > "<< data->GetName()< wrote: > Hi Tun, > > You didn't mention what exactly is the problem / error message? > > From the code you gave, I see that you assigned result of PeekPacketTag > check to `isTag` variable, but used `isQueueTag` variable in the condition. > > --- > Alex > > On Apr 30, 2014, at 1:14 AM, Tun Tun Oo wrote: > > Dear Alex, > > In my customize forwarding, I want to send local information of every hop > by tagging data packet. > When router received data, it read tag and then remove it and add it again > router information. > But I found a problem when I remove the tag. Actually I think I cannot > remove the tag. > > > MyTag tag; > bool isTag = data->GetPayload()->PeekPacketTag(tag); > if (isQueueTag) > { > read = tag.GetTag(); > NS_LOG_INFO ("Infomation "<< read << " : received from data > > "<< data->GetName()); > > //to remove tag > ConstCast(data->GetPayload())->RemovePacketTag (tag); > > if (tag.GetTag != 0) > std::cout << "Cannot Remove the tag in data > "<< > data->GetName()< } > > Could you give me an advice how should I do it? > > regards > TUN > > -------------- next part -------------- An HTML attachment was scrubbed... URL: