From fab.batta at gmail.com Mon Feb 3 12:53:55 2014 From: fab.batta at gmail.com (fabrizio saponaro) Date: Mon, 3 Feb 2014 21:53:55 +0100 Subject: [ndnSIM] ConsumerWindow Timeouts Message-ID: Hi Alex, I working with this simple topology: producer <---> r3 <--> r2 <--->r1<--->consumer where consumer is a node with the ConsumerWindow application installed. Capacities of the links, are 1Mbps for the r1-consumer 's link and 10Mbps for the rest. Each node has a serialized size pit large 10KB and the forwarding strategy is BestRoute. The consumer wants to download 1MB and starts with a window to 1, as initial number of interests that will be send out without wainting for the data. In the OnData() function of the ConsumerWindow class, I calculate the number of retransmissions happened when seqNum>=m_seqMax and so when the download is finished. The number of retransmission is the difference between the interests sent and the data received. I increment the interest counter in the funcion WillSendOutInterest() and the data counter in the function OnData(). Then, I have another counter for when a timeout occurs. Running the simulation, I can see, in the different routers, that the maximum of pit size is never reached and the pit is filled only for a few bytes. So, this might suggest that in the network, none interest has been lost for "pit's size reason", but consumer receive an amount of datas lower than the amount of interests (about 40% of difference). This large difference is due to the trigger of several timeout that cause the retransmission. My question is, in this simple scenario, how is it possible that the r1 router not receive the interest sent by the consumer? And there are other reasons that cause the timeouts' trigger? In my opinion it's possible that the window's size increase too fast, saturating the link. What do you think? If you agree, is there a way to set a maximum size that the window can reach? I hope you can help me. Best regards, Fabrizio -------------- next part -------------- An HTML attachment was scrubbed... URL: From sandhya.giri18 at gmail.com Wed Feb 5 01:14:14 2014 From: sandhya.giri18 at gmail.com (Sandhya Giri) Date: Wed, 5 Feb 2014 14:44:14 +0530 Subject: [ndnSIM] Green arrows in visualizer Message-ID: Dear sir, our program is running successfully as intended. but we do not get green arrows indicating packet flow in the visualizer nor do we get the red arrows. How to generate those arrows?? pls help Thank you Sandhya -------------- next part -------------- An HTML attachment was scrubbed... URL: From masri.sahri at gmail.com Wed Feb 5 01:18:13 2014 From: masri.sahri at gmail.com (nor masri sahri) Date: Wed, 5 Feb 2014 18:18:13 +0900 Subject: [ndnSIM] Green arrows in visualizer In-Reply-To: References: Message-ID: hi there,just trying to help. i think it means that there is no traffic generated is being sent in and sent out in your simulation. It might has something to do with the apphelper. Have a check whether the consumer and producer was configured correctly. On Wed, Feb 5, 2014 at 6:14 PM, Sandhya Giri wrote: > Dear sir, > > our program is running successfully as intended. but we do not > get green arrows indicating packet flow in the visualizer nor do we get the > red arrows. > > How to generate those arrows?? > pls help > > > Thank you > > Sandhya > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > -- Regards, masri.sahri -------------- next part -------------- An HTML attachment was scrubbed... URL: From sandhya.giri18 at gmail.com Wed Feb 5 01:25:54 2014 From: sandhya.giri18 at gmail.com (Sandhya Giri) Date: Wed, 5 Feb 2014 14:55:54 +0530 Subject: [ndnSIM] Fwd: Green arrows in visualizer In-Reply-To: References: Message-ID: ---------- Forwarded message ---------- From: Sandhya Giri Date: Wed, Feb 5, 2014 at 2:50 PM Subject: Re: [ndnSIM] Green arrows in visualizer To: nor masri sahri Sir, when we run default examples with producer and consumer classes, we are getting those green arrows ... it is only when we run our scenario, that we don't get any arrows. are we missing anything??? please help Thanks and regards Sandhya On Wed, Feb 5, 2014 at 2:48 PM, nor masri sahri wrote: > hi there,just trying to help. > i think it means that there is no traffic generated is being sent in and > sent out in your simulation. It might has something to do with the > apphelper. Have a check whether the consumer and producer was configured > correctly. > > > On Wed, Feb 5, 2014 at 6:14 PM, Sandhya Giri wrote: > >> Dear sir, >> >> our program is running successfully as intended. but we do not >> get green arrows indicating packet flow in the visualizer nor do we get the >> red arrows. >> >> How to generate those arrows?? >> pls help >> >> >> Thank you >> >> Sandhya >> >> _______________________________________________ >> ndnSIM mailing list >> ndnSIM at lists.cs.ucla.edu >> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >> >> > > > -- > Regards, > > masri.sahri > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From matteo.virgilio at polito.it Wed Feb 5 06:08:51 2014 From: matteo.virgilio at polito.it (Matteo Virgilio) Date: Wed, 05 Feb 2014 15:08:51 +0100 Subject: [ndnSIM] Fwd: Green arrows in visualizer In-Reply-To: References: Message-ID: <52F245F3.2050409@polito.it> Hi, for some reason you are not transmitting any packet through the physical NIC. Have you configured the default route on the consumers side while installing the NDN stack on them? This is the first idea that came in my mind... Regards, Matteo From iliamo at ucla.edu Wed Feb 5 11:13:23 2014 From: iliamo at ucla.edu (Ilya Moiseenko) Date: Wed, 5 Feb 2014 11:13:23 -0800 Subject: [ndnSIM] Fwd: Green arrows in visualizer In-Reply-To: <52F245F3.2050409@polito.it> References: <52F245F3.2050409@polito.it> Message-ID: You may open your visualizer, start simulation, do a right click on the node, select FIB table and check if application face and network faces are associated with the identical name prefix. Ilya On Feb 5, 2014, at 6:08 AM, Matteo Virgilio wrote: > Hi, > for some reason you are not transmitting any packet through the physical NIC. > Have you configured the default route on the consumers side while installing the NDN stack on them? This is the first idea that came in my mind... > > Regards, > Matteo > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim From fab.batta at gmail.com Thu Feb 6 09:03:39 2014 From: fab.batta at gmail.com (fabrizio saponaro) Date: Thu, 6 Feb 2014 18:03:39 +0100 Subject: [ndnSIM] wrong link settings with visualizer Message-ID: Hi all, in my scenario I've a link installed between a consumer and a router, which is setted to 10Kbps of capacity from a topology file ".txt". The consumer has a window fixed to 1, so doesn't send another interest if data is not received and so almost an interest "at a time" must to be forwarded on the link. Interests have a name of 100 bytes of lenght. Running with the visualizer, I can see on the arrow from the consumer that the interest is uploading with a speed of 12.08 Kbps, and on the arrow from router towards consumer that data is downloading with a speed of 94,48Kbps. How is it possible? Both measures are greater then the available bandwidth. Best regards, Fabrizio Saponaro -------------- next part -------------- An HTML attachment was scrubbed... URL: From dalbertmm at yahoo.com.br Sun Feb 9 07:58:37 2014 From: dalbertmm at yahoo.com.br (Dalbert M) Date: Sun, 9 Feb 2014 07:58:37 -0800 (PST) Subject: [ndnSIM] enabling z position In-Reply-To: <1385946651.59718.YahooMailNeo@web161905.mail.bf1.yahoo.com> References: <1385906415.50191.YahooMailNeo@web161901.mail.bf1.yahoo.com> <30D63D0D-0334-4B28-9D5E-84400EB14D39@ucla.edu> <1385946651.59718.YahooMailNeo@web161905.mail.bf1.yahoo.com> Message-ID: <1391961517.48825.YahooMailNeo@web161904.mail.bf1.yahoo.com> Hi Alex, Regarding the file geo-tag.cc of the V2V extension i noticed that the m_position.z = i.ReadDouble () and i.WriteDouble (m_position.z); ?? from the metods GeoTag::Serialize and GeoTag::Deserialize.? was disabled on the code. The thing is i need that position ( z ) on my simulations. So i try to enable it , but when i try to simulate, the simulation stop at the first contact with (PeekPacketTag). Any idea on how to enable the serialize of the z position without stopping everything? :) Best regards Dalbert -------------- next part -------------- An HTML attachment was scrubbed... URL: From jhsuh at mmlab.snu.ac.kr Mon Feb 10 01:08:17 2014 From: jhsuh at mmlab.snu.ac.kr (Junho Suh) Date: Mon, 10 Feb 2014 18:08:17 +0900 Subject: [ndnSIM] Fwd: Simple PIT statistics information gathering In-Reply-To: References: Message-ID: ---------- Forwarded message ---------- From: Junho Suh Date: Mon, Feb 10, 2014 at 6:06 PM Subject: Simple PIT statistics information gathering To: ndnsim at lists.cs.ucla.edu Hi All. The problem I encounter is that subscribers don't seem to send the Interest packet to the publisher. To do so, I am trying to write a simple scenario that prints out the PIT statistics of a NDN router. So I configure 10 consumers, a single ndn router and a single publisher. Then I setup ConsumerWindow as AppHelper. Here is my script for the scenario. What does the script wrong? Thanks in advance~ Junho Suh -- Junho Suh (redrattus) Ph.D. Candidate Multimedia & Mobile Communications Lab. School of Computer Science and Engineering Seoul National University, Republic of Korea. Tel: 82-2-880-1848 CP: 82-10-4464-0913 Email: jhsuh at mmlab.snu.ac.kr -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ndn-test.cc Type: application/octet-stream Size: 6049 bytes Desc: not available URL: From morambro at gmail.com Tue Feb 11 09:55:18 2014 From: morambro at gmail.com (Moreno Ambrosin) Date: Tue, 11 Feb 2014 18:55:18 +0100 Subject: [ndnSIM] Configure FIBs based on IP addresses Message-ID: Hi, I'm new with ndnSIM; I'm trying to build a configuration with NDN as an overlay network. For this reason, I installed the Internet stack, all point-to-point links, and assigned an IPv4 address to all nodes. Finally, following this example https://github.com/NDN-Routing/ndnSIM/blob/master/examples/ndn-simple-udp.cc, I tried to configure the FIBs. What I want to achieve, is the following overlay configuration: /some /some/content consumer 1 -------------------> IP:X.X.X.X consumer 2 -------------------> router 1 ----------------------------> producer ... consumer n -------------------> I tried to setup the NDN forwarding in the following way: ndn::IpFacesHelper::Install(routerNodes.Get(0)); ndn::IpFacesHelper::Install(routerNodes.Get(27)); // Install IpFacesHelper on all consumers (saved inside a vector devices) for (int i=0;i<30;i++) { ndn::IpFacesHelper::Install(devices[0].Get(i)); } ndn::IpFacesHelper::CreateUdpFace ( Seconds (0.5), routerNodes.Get(0), routerNodes.Get(27)->GetObject()->GetAddress(1,0).GetLocal(), "/some/upd-route" ); for (int i=0;i<30;i++) { ndn::IpFacesHelper::CreateTcpFace ( Seconds (0.5), devices[0].Get(i), routerNodes.Get(0)->GetObject()->GetAddress(1,0).GetLocal(), "/some" ); } When I run my script making all devices to request a content (with ConsumerCbr application), I obtain the following run-time error: assert failed. cond="cur->tid != tag.GetInstanceTypeId ()", file=../src/network/model/packet-tag-list.cc, line=250 terminate called without an active exception What could be the problem? Is there another way to setup the FIB based on IP correctly? Regards Moreno -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Tue Feb 11 11:31:09 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Tue, 11 Feb 2014 11:31:09 -0800 Subject: [ndnSIM] How to use aggregate-stats-policy.h In-Reply-To: <201402111236393958145@qq.com> References: <201402111236393958145@qq.com> Message-ID: Hi Aaron, You can check out https://github.com/NDN-Routing/ndnSIM/blob/master/examples/ndn-simple-with-pit-operation-stats.cc example. It shows an example how to print out stats for PIT, but this can be used for CS as well in a similar way. --- Alex On Feb 10, 2014, at 8:36 PM, aaronishere wrote: > Hi, Alex > > I found the aggregate-stats-policy.h under folder /utils/trie, which records how many times insert/lookup/upeate/erase is used. > I wonder how to use it so that the times of insert/lookup/upeate/erase can be shown when the simulation ends. > > Thanks! > > Aaron -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Tue Feb 11 11:39:22 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Tue, 11 Feb 2014 11:39:22 -0800 Subject: [ndnSIM] Another Question: set priority of a node In-Reply-To: <2014021118115118342734@qq.com> References: <2014021118115118342734@qq.com> Message-ID: <696F777E-E678-4A3C-BC14-064293CC653B@ucla.edu> Hi Aaron, It is possible, but would require a number of tweakings. There are several alternatives, but I would do it in the following name: 1. Create a class derived from Object, say "PriorityModel", which will store priority value and have getters/setters for it. 2. Modify AnnotatedTopologyReader class. In particular, you would need to modify Read field and modify CreateNode methods. You can actually modify just CreateNode methods, since they already assume that there could be an extra column (this was defined for network partition number to use for distributed simulation, but if you're not using this feature, you can redefine the meaning). In CreateNode methods you would need to CreateObject with you priority and then aggregate the created object to Node object, same way mobility model object is aggregated. After this, you will be able to use this->GetObject()->getPriority() from anywhere of ForwardinStrategy class to get your priority. --- Alex On Feb 11, 2014, at 2:11 AM, aaronishere wrote: > Hi, Alex > > I want to set nodes with different priority in the topology text so that topologyReader could read it, something like below: > #node city y x priority > n0 NA 4 5.5 5 > n1 NA 3 2.5 4 > ..... > > link > # from to capacity metric delay queue > n0 n1 1Mbps 1 1ms 100 > n0 n2 1Mbps 1 1ms 100 > .... > > And when the packet is coming (under oninterest/ondata function in the forwardingstrategy.cc), the node could get its priority like node->GetPriority( ) > > Is there any possible solutions? > > Thanks in advance! > > Aaron -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Tue Feb 11 11:42:10 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Tue, 11 Feb 2014 11:42:10 -0800 Subject: [ndnSIM] Configure FIBs based on IP addresses In-Reply-To: References: Message-ID: <45EC71CF-59FD-49FA-A591-41E4E3AC86D8@ucla.edu> Hi Moreno, Would you mind sharing a full working scenario that can reproduce the error? Tcp and Udp faces are not comprehensively tested and there could be some bug in them, or there could be something wrong with the scenario too. --- Alex On Feb 11, 2014, at 9:55 AM, Moreno Ambrosin wrote: > Hi, > > I'm new with ndnSIM; I'm trying to build a configuration with NDN as an overlay network. For this reason, I installed the Internet stack, all point-to-point links, and assigned an IPv4 address to all nodes. > Finally, following this example https://github.com/NDN-Routing/ndnSIM/blob/master/examples/ndn-simple-udp.cc, I tried to configure the FIBs. What I want to achieve, is the following overlay configuration: > > > /some /some/content > consumer 1 -------------------> IP:X.X.X.X > consumer 2 -------------------> router 1 ----------------------------> producer > ... > consumer n -------------------> > > I tried to setup the NDN forwarding in the following way: > > > ndn::IpFacesHelper::Install(routerNodes.Get(0)); > ndn::IpFacesHelper::Install(routerNodes.Get(27)); > // Install IpFacesHelper on all consumers (saved inside a vector devices) > for (int i=0;i<30;i++) > { > ndn::IpFacesHelper::Install(devices[0].Get(i)); > } > > ndn::IpFacesHelper::CreateUdpFace ( > Seconds (0.5), > routerNodes.Get(0), > routerNodes.Get(27)->GetObject()->GetAddress(1,0).GetLocal(), > "/some/upd-route" > ); > > for (int i=0;i<30;i++) { > ndn::IpFacesHelper::CreateTcpFace ( > Seconds (0.5), > devices[0].Get(i), > routerNodes.Get(0)->GetObject()->GetAddress(1,0).GetLocal(), > "/some" > ); > } > > When I run my script making all devices to request a content (with ConsumerCbr application), I obtain the following run-time error: > > assert failed. cond="cur->tid != tag.GetInstanceTypeId ()", file=../src/network/model/packet-tag-list.cc, line=250 > terminate called without an active exception > > What could be the problem? > Is there another way to setup the FIB based on IP correctly? > > Regards > Moreno > _______________________________________________ > 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 morambro at gmail.com Tue Feb 11 12:56:53 2014 From: morambro at gmail.com (Moreno Ambrosin) Date: Tue, 11 Feb 2014 21:56:53 +0100 Subject: [ndnSIM] Configure FIBs based on IP addresses In-Reply-To: <45EC71CF-59FD-49FA-A591-41E4E3AC86D8@ucla.edu> References: <45EC71CF-59FD-49FA-A591-41E4E3AC86D8@ucla.edu> Message-ID: Hi Alex, thank you for your reply. Here is a code example for a simple configuration. The idea is tho have nodes 0,1 and 2 connected to node 3 by a point-to-point link, node 4 connected to node 3 and node 5 linked to node 4. On this IP network, I would like to build an NDN overlay network, placing three consumers on nodes 0,1 and 2, a router on node 3, and a producer on node 5. #### Example #include "ns3/core-module.h" #include "ns3/network-module.h" #include "ns3/point-to-point-module.h" #include "ns3/internet-module.h" #include "ns3/ndnSIM-module.h" #include #include "ns3/ndn-l3-rate-tracer.h" NS_LOG_COMPONENT_DEFINE ("ndn-ip-overlay"); using namespace ns3; int main (int argc, char *argv[]) { Packet::EnablePrinting (); // setting default parameters for PointToPoint links and channels Config::SetDefault ("ns3::PointToPointNetDevice::DataRate", StringValue ("1Mbps")); Config::SetDefault ("ns3::PointToPointChannel::Delay", StringValue ("10ms")); Config::SetDefault ("ns3::DropTailQueue::MaxPackets", StringValue ("20")); CommandLine cmd; cmd.Parse (argc, argv); NodeContainer routerNodes; routerNodes.Create(6); // Create Ipv4 classes in order to assign IPs in the topology Ipv4AddressHelper ipv4_helper; InternetStackHelper ipStack; ipStack.SetIpv6StackInstall (false); ipStack.InstallAll (); Ipv4Address base_addr("10.1.1.0"); PointToPointHelper p2p; ipv4_helper.SetBase(base_addr, Ipv4Mask ("/24")); ipv4_helper.Assign(p2p.Install(routerNodes.Get(0), routerNodes.Get(3))); base_addr = Ipv4Address (base_addr.Get () + 256); ipv4_helper.SetBase(base_addr, Ipv4Mask ("/24")); ipv4_helper.Assign(p2p.Install(routerNodes.Get(1), routerNodes.Get(3))); base_addr = Ipv4Address (base_addr.Get () + 256); ipv4_helper.SetBase(base_addr, Ipv4Mask ("/24")); ipv4_helper.Assign(p2p.Install(routerNodes.Get(2), routerNodes.Get(3))); base_addr = Ipv4Address (base_addr.Get () + 256); ipv4_helper.SetBase(base_addr, Ipv4Mask ("/24")); ipv4_helper.Assign(p2p.Install(routerNodes.Get(3), routerNodes.Get(4))); base_addr = Ipv4Address (base_addr.Get () + 256); ipv4_helper.SetBase(base_addr, Ipv4Mask ("/24")); ipv4_helper.Assign(p2p.Install(routerNodes.Get(4), routerNodes.Get(5))); base_addr = Ipv4Address (base_addr.Get () + 256); Ipv4GlobalRoutingHelper::PopulateRoutingTables (); // Install NDN stack on all nodes ndn::StackHelper ndnHelper; ndnHelper.SetForwardingStrategy ("ns3::ndn::fw::BestRoute"); ndnHelper.SetDefaultRoutes (false); ndnHelper.Install(routerNodes.Get(0)); ndnHelper.Install(routerNodes.Get(1)); ndnHelper.Install(routerNodes.Get(2)); ndnHelper.Install(routerNodes.Get(3)); ndnHelper.Install(routerNodes.Get(5)); ndn::IpFacesHelper::Install(routerNodes.Get(0)); ndn::IpFacesHelper::Install(routerNodes.Get(1)); ndn::IpFacesHelper::Install(routerNodes.Get(2)); ndn::IpFacesHelper::Install(routerNodes.Get(3)); ndn::IpFacesHelper::Install(routerNodes.Get(5)); ndn::IpFacesHelper::CreateUdpFace ( Seconds (0.5), routerNodes.Get(3), routerNodes.Get(5)->GetObject()->GetAddress(1,0).GetLocal(), "/upd-route" ); ndn::IpFacesHelper::CreateUdpFace ( Seconds (0.5), routerNodes.Get(0), routerNodes.Get(3)->GetObject()->GetAddress(1,0).GetLocal(), "/" ); ndn::IpFacesHelper::CreateUdpFace ( Seconds (0.5), routerNodes.Get(1), routerNodes.Get(3)->GetObject()->GetAddress(1,0).GetLocal(), "/" ); ndn::IpFacesHelper::CreateUdpFace ( Seconds (0.5), routerNodes.Get(1), routerNodes.Get(3)->GetObject()->GetAddress(1,0).GetLocal(), "/" ); // Consumer ndn::AppHelper consumerHelper ("ns3::ndn::ConsumerCbr"); // Consumer will request /udp-route1/0, /udp-route1/1, ... consumerHelper.SetPrefix ("/upd-route"); consumerHelper.SetAttribute ("Frequency", StringValue ("1")); // 1 interests a second consumerHelper.Install (routerNodes.Get (0)).Start (Seconds (3)); consumerHelper.Install (routerNodes.Get (1)).Start (Seconds (3)); consumerHelper.Install (routerNodes.Get (2)).Start (Seconds (3)); // Producer ndn::AppHelper producerHelper ("ns3::ndn::Producer"); // Producer will reply to all requests starting with /prefix producerHelper.SetPrefix ("/upd-route"); producerHelper.SetAttribute ("PayloadSize", StringValue("1024")); producerHelper.Install (routerNodes.Get(5)); // last node Simulator::Stop (Seconds (10)); ndn::L3RateTracer::Install(routerNodes.Get(3),"node.log", Seconds (0.1)); Simulator::Run (); Simulator::Destroy (); return 0; } ############################ I tried this code and I still obtain the error: assert failed. cond="cur->tid != tag.GetInstanceTypeId ()", file=../src/network/model/packet-tag-list.cc, line=250 terminate called without an active exception Thank you in advance for your help! Regards Moreno 2014-02-11 20:42 GMT+01:00 Alex Afanasyev : > Hi Moreno, > > Would you mind sharing a full working scenario that can reproduce the > error? Tcp and Udp faces are not comprehensively tested and there could be > some bug in them, or there could be something wrong with the scenario too. > > --- > Alex > > On Feb 11, 2014, at 9:55 AM, Moreno Ambrosin wrote: > > Hi, > > I'm new with ndnSIM; I'm trying to build a configuration with NDN as an > overlay network. For this reason, I installed the Internet stack, all > point-to-point links, and assigned an IPv4 address to all nodes. > Finally, following this example > https://github.com/NDN-Routing/ndnSIM/blob/master/examples/ndn-simple-udp.cc, > I tried to configure the FIBs. What I want to achieve, is the following > overlay configuration: > > > /some /some/content > consumer 1 -------------------> IP:X.X.X.X > consumer 2 -------------------> router 1 > ----------------------------> producer > ... > consumer n -------------------> > > I tried to setup the NDN forwarding in the following way: > > > ndn::IpFacesHelper::Install(routerNodes.Get(0)); > ndn::IpFacesHelper::Install(routerNodes.Get(27)); > // Install IpFacesHelper on all consumers (saved inside a vector > devices) > for (int i=0;i<30;i++) > { > ndn::IpFacesHelper::Install(devices[0].Get(i)); > } > > ndn::IpFacesHelper::CreateUdpFace ( > Seconds (0.5), > routerNodes.Get(0), > > routerNodes.Get(27)->GetObject()->GetAddress(1,0).GetLocal(), > "/some/upd-route" > ); > > for (int i=0;i<30;i++) { > ndn::IpFacesHelper::CreateTcpFace ( > Seconds (0.5), > devices[0].Get(i), > > routerNodes.Get(0)->GetObject()->GetAddress(1,0).GetLocal(), > "/some" > ); > } > > When I run my script making all devices to request a content > (with ConsumerCbr application), I obtain the following run-time error: > > assert failed. cond="cur->tid != tag.GetInstanceTypeId ()", > file=../src/network/model/packet-tag-list.cc, line=250 > terminate called without an active exception > > What could be the problem? > Is there another way to setup the FIB based on IP correctly? > > Regards > Moreno > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > > -- Moreno Ambrosin -------------- next part -------------- An HTML attachment was scrubbed... URL: From jli37 at nyit.edu Tue Feb 11 17:14:10 2014 From: jli37 at nyit.edu (Jiaxin Li) Date: Tue, 11 Feb 2014 20:14:10 -0500 Subject: [ndnSIM] ndnSIM ad hoc routing protocol question Message-ID: Hi everyone, We just started using ndnSIM to do some research. Now we are wondering how ndnSIM manage to use ad hoc routing protocols like DSR and AODV to forward the packets? I think, due to the nature of the NDN, it can not utilize traditional ad hoc routing protocols without any modifications, but where exactly do I modify it to forward data the way I want it to be? So what I'm asking really is, how to define the routing protocols in ndnSIM myself? Thanks a lot! Jason -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Tue Feb 11 17:22:37 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Tue, 11 Feb 2014 17:22:37 -0800 Subject: [ndnSIM] ndnSIM ad hoc routing protocol question In-Reply-To: References: Message-ID: Hi Jiaxin, Ideally, you would need to define and write new routing protocols that are similar to DSR and AODV, but which works on names, instead of identifiers. But since this is only a simulation, you may be able to assume that your NDN names are DSR/AODV identifiers and use them in NDN FIB directly. You would need to write your own custom NDN strategy that utilizes DSR and AODV information to forwards Interest packets toward faces, instead of using FIB (as is done with all current strategies). --- Alex On Feb 11, 2014, at 5:14 PM, Jiaxin Li wrote: > Hi everyone, > We just started using ndnSIM to do some research. Now we are wondering how ndnSIM manage to use ad hoc routing protocols like DSR and AODV to forward the packets? > I think, due to the nature of the NDN, it can not utilize traditional ad hoc routing protocols without any modifications, but where exactly do I modify it to forward data the way I want it to be? So what I'm asking really is, how to define the routing protocols in ndnSIM myself? > Thanks a lot! > Jason From alexander.afanasyev at ucla.edu Tue Feb 11 23:41:13 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Tue, 11 Feb 2014 23:41:13 -0800 Subject: [ndnSIM] enabling z position In-Reply-To: <1391961517.48825.YahooMailNeo@web161904.mail.bf1.yahoo.com> References: <1385906415.50191.YahooMailNeo@web161901.mail.bf1.yahoo.com> <30D63D0D-0334-4B28-9D5E-84400EB14D39@ucla.edu> <1385946651.59718.YahooMailNeo@web161905.mail.bf1.yahoo.com> <1391961517.48825.YahooMailNeo@web161904.mail.bf1.yahoo.com> Message-ID: I don't quite remember the real reason we commented that out. I know for sure that NS-3 has limit on amount of information can be stored in packet tags (you should check around ns-3/src/network/model/packet-tag-list). This could be a reason... Also, did you modify in all three necessary places? In serializedSize, serialize, and deserialize methods? --- Alex > On Feb 9, 2014, at 7:58 AM, Dalbert M wrote: > > > Hi Alex, > > Regarding the file geo-tag.cc of the V2V extension i noticed that the > > m_position.z = i.ReadDouble () and i.WriteDouble (m_position.z); > > from the metods GeoTag::Serialize and GeoTag::Deserialize. was disabled on the code. > > The thing is i need that position ( z ) on my simulations. > > So i try to enable it , but when i try to simulate, the simulation stop at the first contact with (PeekPacketTag). > > Any idea on how to enable the serialize of the z position without stopping everything? :) > > Best regards > > Dalbert > > > > _______________________________________________ > 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 Tue Feb 11 23:44:13 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Tue, 11 Feb 2014 23:44:13 -0800 Subject: [ndnSIM] wrong link settings with visualizer In-Reply-To: References: Message-ID: <76024A75-21DE-4D22-9ECD-27C712D05BF3@ucla.edu> Hi fabrizio, Do you still have the problem? If you share your scenario and topology file to reproduce the problem, we could try to understand what is wrong... --- Alex > On Feb 6, 2014, at 9:03 AM, fabrizio saponaro wrote: > > Hi all, > > in my scenario I've a link installed between a consumer and a router, which is setted to 10Kbps of capacity from a topology file ".txt". The consumer has a window fixed to 1, so doesn't send another interest if data is not received and so almost an interest "at a time" must to be forwarded on the link. Interests have a name of 100 bytes of lenght. > > Running with the visualizer, I can see on the arrow from the consumer that the interest is uploading with a speed of 12.08 Kbps, and on the arrow from router towards consumer that data is downloading with a speed of 94,48Kbps. > How is it possible? Both measures are greater then the available bandwidth. > > Best regards, > Fabrizio Saponaro > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim From jli37 at nyit.edu Wed Feb 12 12:00:13 2014 From: jli37 at nyit.edu (Jiaxin Li) Date: Wed, 12 Feb 2014 15:00:13 -0500 Subject: [ndnSIM] DSR in NDN? Message-ID: Hi everybody, We are trying to adopt the idea of DSR into NDN, which means we are trying to write some routing protocol or forwarding strategy in ndnSIM, I would like to know if anybody was working on similar ideas? Thanks a lot. Jason -------------- next part -------------- An HTML attachment was scrubbed... URL: From morambro at gmail.com Fri Feb 14 06:25:36 2014 From: morambro at gmail.com (Moreno Ambrosin) Date: Fri, 14 Feb 2014 15:25:36 +0100 Subject: [ndnSIM] Configure FIBs based on IP addresses In-Reply-To: References: <45EC71CF-59FD-49FA-A591-41E4E3AC86D8@ucla.edu> Message-ID: Hi, I performed some tests with UDP face, printing logs from the classes Packet, ndn.UdpFace and ndn.Face. What I found is that the tag SocketAddressTag is not removed when the packet is received, and thus, when the tag is added again, the assertion fails. Any idea of what could be the problem? Who should be supposed to remove and add this tag again? Regards, Moreno 2014-02-11 21:56 GMT+01:00 Moreno Ambrosin : > Hi Alex, > > thank you for your reply. Here is a code example for a simple > configuration. The idea is tho have nodes 0,1 and 2 connected to node 3 by > a point-to-point link, node 4 connected to node 3 and node 5 linked to node > 4. On this IP network, I would like to build an NDN overlay network, > placing three consumers on nodes 0,1 and 2, a router on node 3, and a > producer on node 5. > > > #### Example > > > #include "ns3/core-module.h" > #include "ns3/network-module.h" > #include "ns3/point-to-point-module.h" > #include "ns3/internet-module.h" > #include "ns3/ndnSIM-module.h" > #include > > #include "ns3/ndn-l3-rate-tracer.h" > > NS_LOG_COMPONENT_DEFINE ("ndn-ip-overlay"); > > using namespace ns3; > > int main (int argc, char *argv[]) > { > Packet::EnablePrinting (); > > > // setting default parameters for PointToPoint links and channels > Config::SetDefault ("ns3::PointToPointNetDevice::DataRate", > StringValue ("1Mbps")); > Config::SetDefault ("ns3::PointToPointChannel::Delay", StringValue > ("10ms")); > Config::SetDefault ("ns3::DropTailQueue::MaxPackets", StringValue > ("20")); > > CommandLine cmd; > cmd.Parse (argc, argv); > > NodeContainer routerNodes; > routerNodes.Create(6); > > // Create Ipv4 classes in order to assign IPs in the topology > Ipv4AddressHelper ipv4_helper; > InternetStackHelper ipStack; > ipStack.SetIpv6StackInstall (false); > ipStack.InstallAll (); > Ipv4Address base_addr("10.1.1.0"); > PointToPointHelper p2p; > ipv4_helper.SetBase(base_addr, Ipv4Mask ("/24")); > ipv4_helper.Assign(p2p.Install(routerNodes.Get(0), routerNodes.Get(3))); > base_addr = Ipv4Address (base_addr.Get () + 256); > ipv4_helper.SetBase(base_addr, Ipv4Mask ("/24")); > ipv4_helper.Assign(p2p.Install(routerNodes.Get(1), routerNodes.Get(3))); > base_addr = Ipv4Address (base_addr.Get () + 256); > ipv4_helper.SetBase(base_addr, Ipv4Mask ("/24")); > ipv4_helper.Assign(p2p.Install(routerNodes.Get(2), routerNodes.Get(3))); > base_addr = Ipv4Address (base_addr.Get () + 256); > ipv4_helper.SetBase(base_addr, Ipv4Mask ("/24")); > ipv4_helper.Assign(p2p.Install(routerNodes.Get(3), routerNodes.Get(4))); > base_addr = Ipv4Address (base_addr.Get () + 256); > ipv4_helper.SetBase(base_addr, Ipv4Mask ("/24")); > ipv4_helper.Assign(p2p.Install(routerNodes.Get(4), routerNodes.Get(5))); > base_addr = Ipv4Address (base_addr.Get () + 256); > > Ipv4GlobalRoutingHelper::PopulateRoutingTables (); > > // Install NDN stack on all nodes > ndn::StackHelper ndnHelper; > ndnHelper.SetForwardingStrategy ("ns3::ndn::fw::BestRoute"); > ndnHelper.SetDefaultRoutes (false); > > ndnHelper.Install(routerNodes.Get(0)); > ndnHelper.Install(routerNodes.Get(1)); > ndnHelper.Install(routerNodes.Get(2)); > ndnHelper.Install(routerNodes.Get(3)); > ndnHelper.Install(routerNodes.Get(5)); > > ndn::IpFacesHelper::Install(routerNodes.Get(0)); > ndn::IpFacesHelper::Install(routerNodes.Get(1)); > ndn::IpFacesHelper::Install(routerNodes.Get(2)); > ndn::IpFacesHelper::Install(routerNodes.Get(3)); > ndn::IpFacesHelper::Install(routerNodes.Get(5)); > > > ndn::IpFacesHelper::CreateUdpFace ( > Seconds (0.5), > routerNodes.Get(3), > routerNodes.Get(5)->GetObject()->GetAddress(1,0).GetLocal(), > "/upd-route" > ); > > ndn::IpFacesHelper::CreateUdpFace ( > Seconds (0.5), > routerNodes.Get(0), > routerNodes.Get(3)->GetObject()->GetAddress(1,0).GetLocal(), > "/" > ); > ndn::IpFacesHelper::CreateUdpFace ( > Seconds (0.5), > routerNodes.Get(1), > routerNodes.Get(3)->GetObject()->GetAddress(1,0).GetLocal(), > "/" > ); > ndn::IpFacesHelper::CreateUdpFace ( > Seconds (0.5), > routerNodes.Get(1), > routerNodes.Get(3)->GetObject()->GetAddress(1,0).GetLocal(), > "/" > ); > > > // Consumer > ndn::AppHelper consumerHelper ("ns3::ndn::ConsumerCbr"); > // Consumer will request /udp-route1/0, /udp-route1/1, ... > consumerHelper.SetPrefix ("/upd-route"); > consumerHelper.SetAttribute ("Frequency", StringValue ("1")); // 1 > interests a second > consumerHelper.Install (routerNodes.Get (0)).Start (Seconds (3)); > consumerHelper.Install (routerNodes.Get (1)).Start (Seconds (3)); > consumerHelper.Install (routerNodes.Get (2)).Start (Seconds (3)); > > > // Producer > ndn::AppHelper producerHelper ("ns3::ndn::Producer"); > // Producer will reply to all requests starting with /prefix > producerHelper.SetPrefix ("/upd-route"); > producerHelper.SetAttribute ("PayloadSize", StringValue("1024")); > producerHelper.Install (routerNodes.Get(5)); // last node > > Simulator::Stop (Seconds (10)); > > ndn::L3RateTracer::Install(routerNodes.Get(3),"node.log", Seconds > (0.1)); > > Simulator::Run (); > Simulator::Destroy (); > > return 0; > } > > ############################ > > > I tried this code and I still obtain the error: > > assert failed. cond="cur->tid != tag.GetInstanceTypeId ()", > file=../src/network/model/packet-tag-list.cc, line=250 > terminate called without an active exception > > > Thank you in advance for your help! > > Regards > Moreno > > > 2014-02-11 20:42 GMT+01:00 Alex Afanasyev : > > Hi Moreno, >> >> Would you mind sharing a full working scenario that can reproduce the >> error? Tcp and Udp faces are not comprehensively tested and there could be >> some bug in them, or there could be something wrong with the scenario too. >> >> --- >> Alex >> >> On Feb 11, 2014, at 9:55 AM, Moreno Ambrosin wrote: >> >> Hi, >> >> I'm new with ndnSIM; I'm trying to build a configuration with NDN as an >> overlay network. For this reason, I installed the Internet stack, all >> point-to-point links, and assigned an IPv4 address to all nodes. >> Finally, following this example >> https://github.com/NDN-Routing/ndnSIM/blob/master/examples/ndn-simple-udp.cc, >> I tried to configure the FIBs. What I want to achieve, is the following >> overlay configuration: >> >> >> /some /some/content >> consumer 1 -------------------> IP:X.X.X.X >> consumer 2 -------------------> router 1 >> ----------------------------> producer >> ... >> consumer n -------------------> >> >> I tried to setup the NDN forwarding in the following way: >> >> >> ndn::IpFacesHelper::Install(routerNodes.Get(0)); >> ndn::IpFacesHelper::Install(routerNodes.Get(27)); >> // Install IpFacesHelper on all consumers (saved inside a vector >> devices) >> for (int i=0;i<30;i++) >> { >> ndn::IpFacesHelper::Install(devices[0].Get(i)); >> } >> >> ndn::IpFacesHelper::CreateUdpFace ( >> Seconds (0.5), >> routerNodes.Get(0), >> >> routerNodes.Get(27)->GetObject()->GetAddress(1,0).GetLocal(), >> "/some/upd-route" >> ); >> >> for (int i=0;i<30;i++) { >> ndn::IpFacesHelper::CreateTcpFace ( >> Seconds (0.5), >> devices[0].Get(i), >> >> routerNodes.Get(0)->GetObject()->GetAddress(1,0).GetLocal(), >> "/some" >> ); >> } >> >> When I run my script making all devices to request a content >> (with ConsumerCbr application), I obtain the following run-time error: >> >> assert failed. cond="cur->tid != tag.GetInstanceTypeId ()", >> file=../src/network/model/packet-tag-list.cc, line=250 >> terminate called without an active exception >> >> What could be the problem? >> Is there another way to setup the FIB based on IP correctly? >> >> Regards >> Moreno >> _______________________________________________ >> ndnSIM mailing list >> ndnSIM at lists.cs.ucla.edu >> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >> >> >> > > > -- > Moreno Ambrosin > -- Moreno Ambrosin -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Fri Feb 14 15:01:34 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Fri, 14 Feb 2014 15:01:34 -0800 Subject: [ndnSIM] Configure FIBs based on IP addresses In-Reply-To: References: <45EC71CF-59FD-49FA-A591-41E4E3AC86D8@ucla.edu> Message-ID: I suspect the "problem" is because Producer application echoes back the received packet, keeping all existing Tags attached. The simplest solution to this problem would be to update NS-3's UdpSocket implementation and call RemovePacketTag before adding it. I would even suggest to file a bug report to NS-3's bugzilla. --- Alex On Feb 14, 2014, at 6:25 AM, Moreno Ambrosin wrote: > Hi, > > I performed some tests with UDP face, printing logs from the classes Packet, ndn.UdpFace and ndn.Face. What I found is that the tag SocketAddressTag is not removed when the packet is received, and thus, when the tag is added again, the assertion fails. > Any idea of what could be the problem? Who should be supposed to remove and add this tag again? > > Regards, > Moreno > > > 2014-02-11 21:56 GMT+01:00 Moreno Ambrosin : > Hi Alex, > > thank you for your reply. Here is a code example for a simple configuration. The idea is tho have nodes 0,1 and 2 connected to node 3 by a point-to-point link, node 4 connected to node 3 and node 5 linked to node 4. On this IP network, I would like to build an NDN overlay network, placing three consumers on nodes 0,1 and 2, a router on node 3, and a producer on node 5. > > > #### Example > > > #include "ns3/core-module.h" > #include "ns3/network-module.h" > #include "ns3/point-to-point-module.h" > #include "ns3/internet-module.h" > #include "ns3/ndnSIM-module.h" > #include > > #include "ns3/ndn-l3-rate-tracer.h" > > NS_LOG_COMPONENT_DEFINE ("ndn-ip-overlay"); > > using namespace ns3; > > int main (int argc, char *argv[]) > { > Packet::EnablePrinting (); > > > // setting default parameters for PointToPoint links and channels > Config::SetDefault ("ns3::PointToPointNetDevice::DataRate", StringValue ("1Mbps")); > Config::SetDefault ("ns3::PointToPointChannel::Delay", StringValue ("10ms")); > Config::SetDefault ("ns3::DropTailQueue::MaxPackets", StringValue ("20")); > > CommandLine cmd; > cmd.Parse (argc, argv); > > NodeContainer routerNodes; > routerNodes.Create(6); > > // Create Ipv4 classes in order to assign IPs in the topology > Ipv4AddressHelper ipv4_helper; > InternetStackHelper ipStack; > ipStack.SetIpv6StackInstall (false); > ipStack.InstallAll (); > > Ipv4Address base_addr("10.1.1.0"); > > PointToPointHelper p2p; > > ipv4_helper.SetBase(base_addr, Ipv4Mask ("/24")); > ipv4_helper.Assign(p2p.Install(routerNodes.Get(0), routerNodes.Get(3))); > base_addr = Ipv4Address (base_addr.Get () + 256); > > ipv4_helper.SetBase(base_addr, Ipv4Mask ("/24")); > ipv4_helper.Assign(p2p.Install(routerNodes.Get(1), routerNodes.Get(3))); > base_addr = Ipv4Address (base_addr.Get () + 256); > > ipv4_helper.SetBase(base_addr, Ipv4Mask ("/24")); > ipv4_helper.Assign(p2p.Install(routerNodes.Get(2), routerNodes.Get(3))); > base_addr = Ipv4Address (base_addr.Get () + 256); > > ipv4_helper.SetBase(base_addr, Ipv4Mask ("/24")); > ipv4_helper.Assign(p2p.Install(routerNodes.Get(3), routerNodes.Get(4))); > base_addr = Ipv4Address (base_addr.Get () + 256); > > ipv4_helper.SetBase(base_addr, Ipv4Mask ("/24")); > ipv4_helper.Assign(p2p.Install(routerNodes.Get(4), routerNodes.Get(5))); > base_addr = Ipv4Address (base_addr.Get () + 256); > > Ipv4GlobalRoutingHelper::PopulateRoutingTables (); > > // Install NDN stack on all nodes > ndn::StackHelper ndnHelper; > ndnHelper.SetForwardingStrategy ("ns3::ndn::fw::BestRoute"); > ndnHelper.SetDefaultRoutes (false); > > ndnHelper.Install(routerNodes.Get(0)); > ndnHelper.Install(routerNodes.Get(1)); > ndnHelper.Install(routerNodes.Get(2)); > ndnHelper.Install(routerNodes.Get(3)); > ndnHelper.Install(routerNodes.Get(5)); > > ndn::IpFacesHelper::Install(routerNodes.Get(0)); > ndn::IpFacesHelper::Install(routerNodes.Get(1)); > ndn::IpFacesHelper::Install(routerNodes.Get(2)); > ndn::IpFacesHelper::Install(routerNodes.Get(3)); > ndn::IpFacesHelper::Install(routerNodes.Get(5)); > > > ndn::IpFacesHelper::CreateUdpFace ( > Seconds (0.5), > routerNodes.Get(3), > routerNodes.Get(5)->GetObject()->GetAddress(1,0).GetLocal(), > "/upd-route" > ); > > ndn::IpFacesHelper::CreateUdpFace ( > Seconds (0.5), > routerNodes.Get(0), > routerNodes.Get(3)->GetObject()->GetAddress(1,0).GetLocal(), > "/" > ); > ndn::IpFacesHelper::CreateUdpFace ( > Seconds (0.5), > routerNodes.Get(1), > routerNodes.Get(3)->GetObject()->GetAddress(1,0).GetLocal(), > "/" > ); > ndn::IpFacesHelper::CreateUdpFace ( > Seconds (0.5), > routerNodes.Get(1), > routerNodes.Get(3)->GetObject()->GetAddress(1,0).GetLocal(), > "/" > ); > > > // Consumer > ndn::AppHelper consumerHelper ("ns3::ndn::ConsumerCbr"); > // Consumer will request /udp-route1/0, /udp-route1/1, ... > consumerHelper.SetPrefix ("/upd-route"); > consumerHelper.SetAttribute ("Frequency", StringValue ("1")); // 1 interests a second > consumerHelper.Install (routerNodes.Get (0)).Start (Seconds (3)); > consumerHelper.Install (routerNodes.Get (1)).Start (Seconds (3)); > consumerHelper.Install (routerNodes.Get (2)).Start (Seconds (3)); > > > // Producer > ndn::AppHelper producerHelper ("ns3::ndn::Producer"); > // Producer will reply to all requests starting with /prefix > producerHelper.SetPrefix ("/upd-route"); > producerHelper.SetAttribute ("PayloadSize", StringValue("1024")); > producerHelper.Install (routerNodes.Get(5)); // last node > > Simulator::Stop (Seconds (10)); > > ndn::L3RateTracer::Install(routerNodes.Get(3),"node.log", Seconds (0.1)); > > Simulator::Run (); > Simulator::Destroy (); > > return 0; > } > > ############################ > > > I tried this code and I still obtain the error: > > assert failed. cond="cur->tid != tag.GetInstanceTypeId ()", file=../src/network/model/packet-tag-list.cc, line=250 > terminate called without an active exception > > > Thank you in advance for your help! > > Regards > Moreno > > > 2014-02-11 20:42 GMT+01:00 Alex Afanasyev : > > Hi Moreno, > > Would you mind sharing a full working scenario that can reproduce the error? Tcp and Udp faces are not comprehensively tested and there could be some bug in them, or there could be something wrong with the scenario too. > > --- > Alex > > On Feb 11, 2014, at 9:55 AM, Moreno Ambrosin wrote: > >> Hi, >> >> I'm new with ndnSIM; I'm trying to build a configuration with NDN as an overlay network. For this reason, I installed the Internet stack, all point-to-point links, and assigned an IPv4 address to all nodes. >> Finally, following this example https://github.com/NDN-Routing/ndnSIM/blob/master/examples/ndn-simple-udp.cc, I tried to configure the FIBs. What I want to achieve, is the following overlay configuration: >> >> >> /some /some/content >> consumer 1 -------------------> IP:X.X.X.X >> consumer 2 -------------------> router 1 ----------------------------> producer >> ... >> consumer n -------------------> >> >> I tried to setup the NDN forwarding in the following way: >> >> >> ndn::IpFacesHelper::Install(routerNodes.Get(0)); >> ndn::IpFacesHelper::Install(routerNodes.Get(27)); >> // Install IpFacesHelper on all consumers (saved inside a vector devices) >> for (int i=0;i<30;i++) >> { >> ndn::IpFacesHelper::Install(devices[0].Get(i)); >> } >> >> ndn::IpFacesHelper::CreateUdpFace ( >> Seconds (0.5), >> routerNodes.Get(0), >> routerNodes.Get(27)->GetObject()->GetAddress(1,0).GetLocal(), >> "/some/upd-route" >> ); >> >> for (int i=0;i<30;i++) { >> ndn::IpFacesHelper::CreateTcpFace ( >> Seconds (0.5), >> devices[0].Get(i), >> routerNodes.Get(0)->GetObject()->GetAddress(1,0).GetLocal(), >> "/some" >> ); >> } >> >> When I run my script making all devices to request a content (with ConsumerCbr application), I obtain the following run-time error: >> >> assert failed. cond="cur->tid != tag.GetInstanceTypeId ()", file=../src/network/model/packet-tag-list.cc, line=250 >> terminate called without an active exception >> >> What could be the problem? >> Is there another way to setup the FIB based on IP correctly? >> >> Regards >> Moreno >> _______________________________________________ >> ndnSIM mailing list >> ndnSIM at lists.cs.ucla.edu >> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > > > > -- > Moreno Ambrosin > > > > -- > Moreno Ambrosin > _______________________________________________ > 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 Feb 14 15:08:09 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Fri, 14 Feb 2014 15:08:09 -0800 Subject: [ndnSIM] ndnSIM Help modifying an Interest packet's tag In-Reply-To: References: Message-ID: <60623B40-52CD-428B-8FFD-5514B6D8FA10@ucla.edu> Hi Aadil, It would be easier to figure out the problem, if you had included the actual error. From what I can guess, you're getting compilation error, complaining that cannot call RemovePacketTag because it is not marked const. Basically, you're trying to remove tag from the const packet. Since you're not doing anything wrong here, you can trick the compiler in the following way: FwCBTag cbtag; Ptr payload = ConstCast(interest->GetPayload()); payload->RemovePacketTag(cbtag); cbtag.Set(inFace->m_fs); payload->AddPacketTag(cbtag); --- Alex On Feb 13, 2014, at 5:45 AM, Aadil Zia Khan wrote: > Hi, > > Could you please guide me as to how I can modify an Interest packet's tag. > > I am trying to modify the OnInterest function of ndn-forwarding-strategy.cc. I want to read the interest packet's tag and modify it. I checked the mailing list and found out that I need to call the RemovePacketTag function first. > > RemovePacketTag works on Ptr type, however if I do something like the following: > > interest->GetPayload ()->RemovePacketTag (cbtag); > > It gives an error. > > How can I get around this. Your help would be really appreciated. Thanks. > > Best Regards > Aadil > > My Code: > > FwCBTag cbtag; > interest->GetPayload ()->RemovePacketTag (cbtag); > cbtag.Set(inFace->m_fs); > interest->GetPayload ()->AddPacketTag (cbtag); From alexander.afanasyev at ucla.edu Fri Feb 14 15:32:48 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Fri, 14 Feb 2014 15:32:48 -0800 Subject: [ndnSIM] Question for ndn-simple-with-pit-operation-stats.cc In-Reply-To: <2014021311565140774112@qq.com> References: <2014021311565140774112@qq.com> Message-ID: <5D4A8A5F-CC0A-421C-884A-F1FFB0BC1A66@ucla.edu> Hi Aaron, Which version of ndnSIM are you using (commit ID)? My latest version already contained GetPolicy() method in ContentStoreImpl class... Not sure if you have modified content-store-impl.cc class to instantiate ContentStores with AggregateStats policy, but that could be a problem. In any case, after I added instantiations (I pushed my commit to github), I successfully run your scenario: [cawka at cawka-mac ns-3 (ndnSIM)]$ ./waf --run ndn-simple-with-pit-operation-stats Waf: Entering directory `/Users/cawka/Botan/ns3-ndn/ns-3/build' Waf: Leaving directory `/Users/cawka/Botan/ns3-ndn/ns-3/build' 'build' finished successfully (1.386s) PIT-Operation Time NodeId Updates Inserts Lookups Erases CS-Operation Time NodeId Updates Inserts Lookups Erases 20 0 0 200 200 200 20 1 0 200 200 200 20 2 0 200 200 200 20 0 0 200 0 195 20 1 0 200 0 195 20 2 0 200 0 195 --- Alex On Feb 12, 2014, at 7:56 PM, aaronishere wrote: > Hi, Alex > > I changed ndn-simple-with-pit-operation-stats.cc like below so that both the times of insert/lookup/update/erase of CS and PIT can be shown: > > ///////////////////////////////////////////////////////////////////////////////////////////// > #include "ns3/core-module.h" > #include "ns3/network-module.h" > #include "ns3/point-to-point-module.h" > #include "ns3/ndnSIM-module.h" > #include "ns3/ndnSIM/model/pit/ndn-pit-impl.h" > #include "ns3/ndnSIM/model/cs/content-store-impl.h" > #include "ns3/ndnSIM/utils/trie/persistent-policy.h" > #include "ns3/ndnSIM/utils/trie/random-policy.h" > #include "ns3/ndnSIM/utils/trie/lru-policy.h" > #include "ns3/ndnSIM/utils/trie/lfu-policy.h" > #include "ns3/ndnSIM/utils/trie/multi-policy.h" > #include "ns3/ndnSIM/utils/trie/aggregate-stats-policy.h" > using namespace ns3; > > typedef ndn::ndnSIM::multi_policy_traits< boost::mpl::vector2< ndn::ndnSIM::persistent_policy_traits, > ndn::ndnSIM::aggregate_stats_policy_traits > > PersistentWithCountsTraits; > typedef ndn::ndnSIM::multi_policy_traits< boost::mpl::vector2< ndn::ndnSIM::random_policy_traits, > ndn::ndnSIM::aggregate_stats_policy_traits > > RandomWithCountsTraits; > typedef ndn::ndnSIM::multi_policy_traits< boost::mpl::vector2< ndn::ndnSIM::lru_policy_traits, > ndn::ndnSIM::aggregate_stats_policy_traits > > LruWithCountsTraits; > typedef ndn::ndnSIM::multi_policy_traits< boost::mpl::vector2< ndn::ndnSIM::lfu_policy_traits, > ndn::ndnSIM::aggregate_stats_policy_traits > > LfuWithCountsTraits; > > void > PITPeriodicStatsPrinter (Ptr node, Time next) > { > if (DynamicCast > (node->GetObject ()) == 0) > { > std::cerr << "Invalid PIT class, please correct the scenario" << std::endl; > return; > } > // "ns3::ndn::pit::Persistent::AggregateStats" > ndn::pit::PitImpl::super::policy_container &policy = > DynamicCast > (node->GetObject ())->GetPolicy (); > > std::cout << Simulator::Now ().ToDouble (Time::S) << "\t" > << node->GetId () << "\t" > << policy.get<1> ().GetUpdates () << "\t" > << policy.get<1> ().GetInserts () << "\t" > << policy.get<1> ().GetLookups () << "\t" > << policy.get<1> ().GetErases () << "\n"; > > policy.get<1> ().ResetStats (); > Simulator::Schedule (next, PITPeriodicStatsPrinter, node, next); > } > > void > CSPeriodicStatsPrinter (Ptr node, Time next) > { > if (DynamicCast > (node->GetObject ()) == 0) > { > std::cerr << "Invalid CS class, please correct the scenario" << std::endl; > return; > } > > ndn::cs::ContentStoreImpl::super::policy_container &policy = > DynamicCast > (node->GetObject ())->GetPolicy (); > > std::cout << Simulator::Now ().ToDouble (Time::S) << "\t" > << node->GetId () << "\t" > << policy.get<1> ().GetUpdates () << "\t" > << policy.get<1> ().GetInserts () << "\t" > << policy.get<1> ().GetLookups () << "\t" > << policy.get<1> ().GetErases () << "\n"; > > policy.get<1> ().ResetStats (); > Simulator::Schedule (next, CSPeriodicStatsPrinter, node, next); > } > > int > main (int argc, char *argv[]) > { > // setting default parameters for PointToPoint links and channels > Config::SetDefault ("ns3::PointToPointNetDevice::DataRate", StringValue ("1Mbps")); > Config::SetDefault ("ns3::PointToPointChannel::Delay", StringValue ("10ms")); > Config::SetDefault ("ns3::DropTailQueue::MaxPackets", StringValue ("20")); > > // Read optional command-line parameters (e.g., enable visualizer with ./waf --run=<> --visualize > CommandLine cmd; > cmd.Parse (argc, argv); > > // Creating nodes > NodeContainer nodes; > nodes.Create (3); > > // Connecting nodes using two links > PointToPointHelper p2p; > p2p.Install (nodes.Get (0), nodes.Get (1)); > p2p.Install (nodes.Get (1), nodes.Get (2)); > > // Install CCNx stack on all nodes > ndn::StackHelper ndnHelper; > ndnHelper.SetDefaultRoutes (true); > ndnHelper.SetPit ("ns3::ndn::pit::Persistent::AggregateStats"); > ndnHelper.SetContentStore ("ns3::ndn::cs::Lfu::AggregateStats", "MaxSize", "5"); > ndnHelper.InstallAll (); > std::cout << "PIT-Operation"<<"\n"; > std::cout << "Time" << "\t" > << "NodeId" << "\t" > << "Updates" << "\t" > << "Inserts" << "\t" > << "Lookups" << "\t" > << "Erases" << "\n"; > for (uint32_t i=0; i // set up periodic PIT stats printer on node 1 > { > Simulator::Schedule (Seconds (20), PITPeriodicStatsPrinter, nodes.Get (i), Seconds (20)); > } > > std::cout << "CS-Operation"<<"\n"; > std::cout << "Time" << "\t" > << "NodeId" << "\t" > << "Updates" << "\t" > << "Inserts" << "\t" > << "Lookups" << "\t" > << "Erases" << "\n"; > for (uint32_t i=0; i // set up periodic PIT stats printer on node 1 > { > Simulator::Schedule (Seconds (20), CSPeriodicStatsPrinter, nodes.Get (i), Seconds (20)); > } > // Installing applications > ........ > ///////////////////////////////////////////////////////////////// > However, it errors like below > > [1207/2311] cxx: src/ndnSIM/examples/ndn-simple-with-pit-operation-stats.cc -> build/src/ndnSIM/examples/ndn-simple-with-pit-operation-stats.cc.21.o > ../src/ndnSIM/examples/ndn-simple-with-pit-operation-stats.cc: In function ?void CSPeriodicStatsPrinter(ns3::Ptr, ns3::Time)?: > ../src/ndnSIM/examples/ndn-simple-with-pit-operation-stats.cc:102:107: error: ?class ns3::ndn::cs::ContentStoreImpl > >? has no member named ?GetPolicy? > > I checked the content-store-impl.h and there is no function called GetPolicy while in the pit-impl.h has. > And I add > const typename super::policy_container & > GetPolicy () const { return super::getPolicy (); } > typename super::policy_container & > GetPolicy () { return super::getPolicy (); } > to the content-store-impl.h as the pit-impl.h has and it can compile but has a segment default. > > [Thread debugging using libthread_db enabled] > Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". > > Program received signal SIGSEGV, Segmentation fault. > 0x00007ffff0abcf28 in std::basic_string, std::allocator >::basic_string(std::string const&) () > from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 > > Thus, how to write GetPolicy( ) function in the content-store-impl.h? > > Thanks in advance! > > Aaron -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Fri Feb 14 15:40:48 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Fri, 14 Feb 2014 15:40:48 -0800 Subject: [ndnSIM] How to traverse CS and add a vector in a tag? In-Reply-To: <209dcee7.15ad5.144263c4cd1.Coremail.tengmingnianzbb@163.com> References: <209dcee7.15ad5.144263c4cd1.Coremail.tengmingnianzbb@163.com> Message-ID: <52331BB9-0081-45E0-8106-1942F914A477@ucla.edu> Hi Teng, I'm a little bit confused do you need specifically to traverse the specific policy container from strategy or you just need to iterate items within the specific policy? If within the strategy, there probably no general way to do policy-specific traversal, but you can just traverse all items in content store using ContentStore's iterators: Ptr cs = this->GetObject(); for (Ptr i = cs->Begin(); i != cs->End(); i = cs->Next(i)) { ... } If it is within the policy, then boost::intrusive::multiset has standard STL interface to do the traversal: for (typename policy_container::iterator i = this->begin(); i != this->end(); i++) { Ptr entry = i->payload(); ... } I also not sure what do you mean by "a tag of data". Are you referring to NS-3's packet tags? Unfortunately, as they are implemented right now, there is very little space available for each tag, and you need to implemented Serialize/Deserialize methods. --- Alex On Feb 12, 2014, at 5:14 AM, Teng wrote: > Hi Alex, > > I am a new to ndnsim, now I wanna traverse CS ,and I think it is to traverse the vector in a replacement policy.Just as in lfu policy, how can I traverse the policy_container (typedef boost::intrusive::multiset< Container,boost::intrusive::compare< MemberHookLess< Container > >,Hook > policy_container)? > > And I wonder how to add a vector into a tag of data? For example,I would like to make a vector to record m_hopCount,if a node cached data,it will add the current m_hopCount into the vector, so every node will know the distances from upstream nodes caching the data according to the vector in tag of data. > > Would you please give me some hint? > > Best Regards! > > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From redrattus at gmail.com Mon Feb 10 01:06:17 2014 From: redrattus at gmail.com (Junho Suh) Date: Mon, 10 Feb 2014 18:06:17 +0900 Subject: [ndnSIM] Simple PIT statistics information gathering Message-ID: Hi All. The problem I encounter is that subscribers don't seem to send the Interest packet to the publisher. To do so, I am trying to write a simple scenario that prints out the PIT statistics of a NDN router. So I configure 10 consumers, a single ndn router and a single publisher. Then I setup ConsumerWindow as AppHelper. Here is my script for the scenario. -------------- next part -------------- A non-text attachment was scrubbed... Name: ndn-test.cc Type: application/octet-stream Size: 5898 bytes Desc: not available URL: -------------- next part -------------- What does the script wrong? Thanks in advance~ Junho Suh From aadilziakhan at gmail.com Sat Feb 15 10:07:24 2014 From: aadilziakhan at gmail.com (Aadil Zia Khan) Date: Sat, 15 Feb 2014 23:07:24 +0500 Subject: [ndnSIM] ndnSIM Help modifying an Interest packet's tag In-Reply-To: <60623B40-52CD-428B-8FFD-5514B6D8FA10@ucla.edu> References: <60623B40-52CD-428B-8FFD-5514B6D8FA10@ucla.edu> Message-ID: Hi Alex, That was the problem. Thanks a lot. I really appreciate your help. Best Regards Aadil On Sat, Feb 15, 2014 at 4:08 AM, Alex Afanasyev < alexander.afanasyev at ucla.edu> wrote: > Hi Aadil, > > It would be easier to figure out the problem, if you had included the > actual error. From what I can guess, you're getting compilation error, > complaining that cannot call RemovePacketTag because it is not marked const. > > Basically, you're trying to remove tag from the const packet. Since > you're not doing anything wrong here, you can trick the compiler in the > following way: > > FwCBTag cbtag; > Ptr payload = ConstCast(interest->GetPayload()); > payload->RemovePacketTag(cbtag); > cbtag.Set(inFace->m_fs); > payload->AddPacketTag(cbtag); > > --- > Alex > > On Feb 13, 2014, at 5:45 AM, Aadil Zia Khan > wrote: > > > Hi, > > > > Could you please guide me as to how I can modify an Interest packet's > tag. > > > > I am trying to modify the OnInterest function of > ndn-forwarding-strategy.cc. I want to read the interest packet's tag and > modify it. I checked the mailing list and found out that I need to call the > RemovePacketTag function first. > > > > RemovePacketTag works on Ptr type, however if I do something > like the following: > > > > interest->GetPayload ()->RemovePacketTag (cbtag); > > > > It gives an error. > > > > How can I get around this. Your help would be really appreciated. Thanks. > > > > Best Regards > > Aadil > > > > My Code: > > > > FwCBTag cbtag; > > interest->GetPayload ()->RemovePacketTag (cbtag); > > cbtag.Set(inFace->m_fs); > > interest->GetPayload ()->AddPacketTag (cbtag); > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Sat Feb 15 21:54:49 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Sat, 15 Feb 2014 21:54:49 -0800 Subject: [ndnSIM] Simple PIT statistics information gathering In-Reply-To: References: Message-ID: <39F6B70A-4727-4497-93F2-517531E7033D@ucla.edu> Hi Junho, In your scenario, you have to properly set either Size or MaxSeq parameter for ConsumerWindow class. Unfortunately, -1 does not mean infinity. Another problem is with prefix consumers are using. Consumers send interests /%00, /%00%01, /%00%02, ..., but the prefix that is configured in FIBs is /prefix. As a result, you also not seeing any traffic flow. In your case, it is mandatory that both consumer and producer have the following consumerHelper.SetPrefix ("/prefix"); .. producerHelper.SetPrefix ("/prefix"); --- Alex On Feb 10, 2014, at 1:06 AM, Junho Suh wrote: > Hi All. > > The problem I encounter is that subscribers don't seem to send the Interest packet to the publisher. > To do so, I am trying to write a simple scenario that prints out the PIT statistics of a NDN router. So I configure 10 consumers, a single ndn router and a single publisher. Then I setup ConsumerWindow as AppHelper. > Here is my script for the scenario. > > What does the script wrong? > > Thanks in advance~ > > Junho Suh_______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim From alexander.afanasyev at ucla.edu Sun Feb 16 01:35:59 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Sun, 16 Feb 2014 01:35:59 -0800 Subject: [ndnSIM] Vis In-Reply-To: References: <52e89dc8.cb13450a.7702.ffff91da@mx.google.com> Message-ID: <9F59A078-B463-4233-82A2-B96794496DA7@ucla.edu> If you haven't solved the problem yet, I would recommend getting a more recent version of Ubuntu. At least 12.04 with libboost1.48-all-dev installed. I suspect the errors related to an ancient boost version that comes in 10.04. (Alternatively, you can install and use the latest one, following instructions on ndnsim.net website). --- Alex On Jan 31, 2014, at 4:12 AM, Frank Vicent Semaganga wrote: > Hi Team, > > I have shifted to ubuntu 10.04 and having a new challenges > > Build failed due to Build failed-> task in 'hash-example' failed (exit status 1) > > However if i bypass the ndnSIM module the visualize works ok > > Anyone with solution to this? > > Regards > > > > > ????? ???? (SEMAGANGA FRANK ) > Mobile:+81-80-4444-8051 > Email: frank.semaganga at moegi.waseda.jp or semaganga at gmail.com > Graduate School of Global Information and Telecommunication Studies Waseda University > SATOLAB > 29-7 bldg. 1-3-10 Nishi-Waseda, Shinjuku-ku, Tokyo 169-0051, Japan > > > On Thu, Jan 30, 2014 at 2:09 PM, Ilya Moiseenko wrote: > Hi Frank, > Yeah, I?m afraid that visualizer will not work on 10.9 in a near future. > I suggest to run a virtual machine with 10.8 or Ubuntu 10.04 > > Ilya > > On Jan 28, 2014, at 10:28 PM, Frank Vicent Semaganga wrote: > >> Hi llya >> >> which version are you using? >> >> Regards >> >> >> >> On Wed, Jan 29, 2014 at 3:20 PM, James wrote: >> Hi, >> >> Vis does not work in 10.9. Still looking for a way out? Anyone with a solution? >> >> James >> >> On Jan 29, 2014 1:58 PM, Frank Vicent Semaganga wrote: >> > >> > Hi, >> > >> > I did several times but still same error >> > >> > I am on 10.9 >> > >> > >> > On Tue, Jan 28, 2014 at 7:32 AM, Ilya Moiseenko wrote: >> >> >> >> Try to run port selfupdate and try again. >> >> >> >> What version of OS X do you have ? >> >> >> >> Ilya >> >> >> >> On Jan 26, 2014, at 9:31 PM, Frank Vicent Semaganga wrote: >> >> >> >>> Oh Thank you >> >>> >> >>> I missed that one but however when I tried to install this is what I get >> >>> >> >>> /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_python_py-goocanvas/py27-goocanvas/main.log >> >>> >> >>> To report a bug, follow the instructions in the guide: >> >>> >> >>> http://guide.macports.org/#project.tickets >> >>> >> >>> Error: Processing of port py27-goocanvas failed >> >>> >> >>> >> >>> Regards >> >>> >> >>> >> >>> >> >>> >> >>> On Mon, Jan 27, 2014 at 1:06 PM, Ilya Moiseenko wrote: >> >>>> >> >>>> If instructions here http://ndnsim.net/getting-started.html do not give you any success (did you install py27-pygraphviz py27-goocanvas?) >> >>>> >> >>>> You can follow general installation instructions for NS-3 simulator >> >>>> http://www.nsnam.org/wiki/PyViz >> >>>> >> >>>> There is a missing library dependency. >> >>>> >> >>>> Ilya >> >>>> >> >>>> On Jan 26, 2014, at 5:31 PM, Frank Vicent Semaganga wrote: >> >>>> >> >>>>> Hi llya >> >>>>> >> >>>>> Thank You >> >>>>> >> >>>>> I am also having the error >> >>>>> >> >>>>> assert failed. cond="uid != 0", msg="Assert in TypeId::LookupByName: ns3::VisualSimulatorImpl not found", file=../src/core/model/type-id.cc, line=539 >> >>>>> >> >>>>> terminate called without an active exception >> >>>>> >> >>>>> Command ['/Users/ns-3/build/src/bridge/examples/ns3-dev-csma-bridge-debug', '--SimulatorImplementationType=ns3::VisualSimulatorImpl'] terminated with signal SIGIOT. Run it under a debugger to get more information (./waf --run --command-template="gdb --args %s ") >> >>>>> >> >>>>> >> >>>>> What could I been missing >> >>>>> >> >>>>> >> >>>>> Regards >> >>>>> >> >>>>> >> >>>>> ????? ???? (SEMAGANGA FRANK ) >> >>>>> Mobile:+81-80-4444-8051 >> >>>>> Email: frank.semaganga at moegi.waseda.jp or semaganga at gmail.com >> >>>>> Graduate School of Global Information and Telecommunication Studies Waseda University >> >>>>> SATOLAB >> >>>>> 29-7 bldg. 1-3-10 Nishi-Waseda, Shinjuku-ku, Tokyo 169-0051, Japan >> >>>>> >> >>>>> >> >>>>> On Mon, Jan 27, 2014 at 5:18 AM, Ilya Moiseenko wrote: >> >>>>>> >> >>>>>> Hi Frank, >> >>>>>> Can you try to run visualizer for standard NS-3 examples? (not ndnSIM) >> >>>>>> More info here http://www.nsnam.org/wiki/Main_Page >> >>>>>> >> >>>>>> I have a feeling that you are missing some dependency required for visualizer module. >> >>>>>> >> >>>>>> Ilya >> >>>>>> >> >>>>>> On Jan 26, 2014, at 3:07 AM, Frank Vicent Semaganga wrote: >> >>>>>> >> >>>>>> > >> >>>>>> > Hi Team, >> >>>>>> > >> >>>>>> > I am new to ndnSIM >> >>>>>> > I have a challenge the visualize command always return errors meanwhile using netanim module the visual comes up >> >>>>>> > >> >>>>>> > How can I be able to use --vis directly >> >>>>>> > >> >>>>>> > 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 alexander.afanasyev at ucla.edu Sun Feb 16 01:44:37 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Sun, 16 Feb 2014 01:44:37 -0800 Subject: [ndnSIM] Assert failed: CustomApp not found In-Reply-To: References: Message-ID: <9585DD0D-8E07-49A2-B8FB-33E9D9FC6FCB@ucla.edu> Hi Sandhya, Sorry for my delayed reply. The problem you're facing is basically a linking issue and you have to change the way you creating your scenario. If you put a single file under scratch/ folder, the build system will treat it as a whole scenario and link against NS-3 libraries. You're trying to use CustomApp, which is not part of any NS-3 libraries and needs to be linked with your scenario. A simple trick will fix your problem: - create a directory under scratch/ and give it a name that you will use to run your scenario (e.g., ndn-mod1) - put ndn-mod1.cc under scratch/ndn-mod1/ - put custom-app.h|cc under the same scratch/ndn-mod1/ folder compile the code and you shouldn't have the assertion anymore. --- Alex On Jan 28, 2014, at 9:23 PM, Sandhya Giri wrote: > Dear sir, > > I am trying to run ndn-mod1.cc from scratch folder. But after build process, i am getting the following error: > > 'build' finished successfully (5.429s) > assert failed. cond="uid != 0", msg="Assert in TypeId::LookupByName: CustomApp not found", file=../src/core/model/type-id.cc, line=539 > terminate called without an active exception > Command ['/home/sandhya/ndnSIM/ns-3/build/scratch/ndn-mod1'] terminated with signal SIGIOT. Run it under a debugger to get more information (./waf --run --command-template="gdb --args %s "). > > Can you please help me with this problem?? > > > Thank you > > Sandhya From alexander.afanasyev at ucla.edu Sun Feb 16 01:49:27 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Sun, 16 Feb 2014 01:49:27 -0800 Subject: [ndnSIM] definition In-Reply-To: References: Message-ID: <068CF24B-0B42-47C6-BB9F-B1589DFD88E8@ucla.edu> Hi nor, This was done for the cases when one wants to do some optimizations. The call that you referring as "argument by copy" is actually taking an argument by pointer (smart Ptr pointer). In this case, only pointer will be copied inside the Interest/Data packet, not the whole memory block to hold the name. The second SetName is a convenience, less optimized method. After this version is called, a new Ptr will be created and supplied name will be copied in there. --- Alex On Jan 27, 2014, at 12:27 AM, nor masri sahri wrote: > hi all, Why ndnsim have two versions of SetName(), one that takes its argument by copy and one that takes it by const reference? And why are these two actually defined differently? > > -- > Regards, > > masri.sahri -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Mon Feb 17 12:13:14 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Mon, 17 Feb 2014 12:13:14 -0800 Subject: [ndnSIM] Assert failed: CustomApp not found In-Reply-To: References: <9585DD0D-8E07-49A2-B8FB-33E9D9FC6FCB@ucla.edu> <39320B04-9EB3-45AF-86C0-7E8067B0F87E@ucla.edu> Message-ID: <8DF5303D-C681-40D8-827B-1F8E459FD443@ucla.edu> Hi Sandhya, Take a look at ndn::cs::Nocache content store version (http://ndnsim.net/cs.html#nocache). --- Alex On Feb 17, 2014, at 12:05 AM, Sandhya Giri wrote: > Dear sir, > > yes, the problem was with the queue size. But now I have a different question sir. > In order to compare the performance of my application in presence of automatic caching and in the absence of caching, I want to know is there any way to disable the automatic caching in ndnSIM?? > > Thanks in advance > > Sandhya > > > On Mon, Feb 17, 2014 at 10:17 AM, Alex Afanasyev wrote: > Hi Sandhya, > > I suspect you're getting some kind of congestion and that limits the number of Interests you're seeing. > > --- > Alex > > On Feb 16, 2014, at 2:16 AM, Sandhya Giri wrote: > >> Thanks a lot replying sir.. I was somehow able to come out of that problem.. but now I am facing a new problem. >> >> one application is sending 11 interests to another application running on a different node. but the latter application can receive only first 10 interests, it is not receiving the 11th interest. >> >> these applications are subclasses of ndn::App . is there any threshold that limits the number of interests that can be received within a second?? >> >> Thanks and Regards >> Sandhya >> >> >> On Sun, Feb 16, 2014 at 3:14 PM, Alex Afanasyev wrote: >> Hi Sandhya, >> >> Sorry for my delayed reply. The problem you're facing is basically a linking issue and you have to change the way you creating your scenario. If you put a single file under scratch/ folder, the build system will treat it as a whole scenario and link against NS-3 libraries. You're trying to use CustomApp, which is not part of any NS-3 libraries and needs to be linked with your scenario. >> >> A simple trick will fix your problem: >> >> - create a directory under scratch/ and give it a name that you will use to run your scenario (e.g., ndn-mod1) >> - put ndn-mod1.cc under scratch/ndn-mod1/ >> - put custom-app.h|cc under the same scratch/ndn-mod1/ folder >> >> compile the code and you shouldn't have the assertion anymore. >> >> --- >> Alex >> >> On Jan 28, 2014, at 9:23 PM, Sandhya Giri wrote: >> >> > Dear sir, >> > >> > I am trying to run ndn-mod1.cc from scratch folder. But after build process, i am getting the following error: >> > >> > 'build' finished successfully (5.429s) >> > assert failed. cond="uid != 0", msg="Assert in TypeId::LookupByName: CustomApp not found", file=../src/core/model/type-id.cc, line=539 >> > terminate called without an active exception >> > Command ['/home/sandhya/ndnSIM/ns-3/build/scratch/ndn-mod1'] terminated with signal SIGIOT. Run it under a debugger to get more information (./waf --run --command-template="gdb --args %s "). >> > >> > Can you please help me with this problem?? >> > >> > >> > Thank you >> > >> > Sandhya >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From 525555416 at qq.com Mon Feb 24 01:26:58 2014 From: 525555416 at qq.com (=?gb18030?B?zbepsPOMgXnBy6P9?=) Date: Mon, 24 Feb 2014 17:26:58 +0800 Subject: [ndnSIM] Some questions from a postgraduate student at CQUPT Message-ID: I'm very sorroy for disturbing you with some questions about ndnSIM. 1. How can a consumer fectch the data not only from the producer but also some router just near it thus to reduce the cost or delay? 2.Does the FIB fixed during the whole simulation if we simulate the original CCN network? 3.If I use GlobalRoutingHelper or manually configure routes, does every fibentry in every router has only one face ? If so , whether the forwarding strategies like flooding and smartflooding become meaningless? If not, how can use flooding and what should I do to configure FIB in order to let interests propagated to nearby routers? Thank you very much for taking you so much time! Looking forward to your reply. Zhipeng Ding -------------- next part -------------- An HTML attachment was scrubbed... URL: From davi at insert.uece.br Mon Feb 24 09:35:02 2014 From: davi at insert.uece.br (Davi di Cavalcanti Sampaio) Date: Mon, 24 Feb 2014 14:35:02 -0300 Subject: [ndnSIM] IPython IPLIB error Message-ID: Hello, First time using the ndnSim to simulate NDN. I have all the dependencies installed. When I try to test the examples ./waf --run=ndn-simple --vis It shows everything, but when I try to see the shell this error is what I got. I saw that in November someone had the same problem, but I haven't found any solution. I have installed everything using the latest versions (I did this this weekend) Traceback (most recent call last): File "/home/davicav/ndnSIM/ns-3/src/visualizer/visualizer/core.py", line 1481, in _start_shell ipython = ipython_view.IPythonView() File "/home/davicav/ndnSIM/ns-3/src/visualizer/visualizer/ipython_view.py", line 250, in __init__ input_func=self.raw_input) File "/home/davicav/ndnSIM/ns-3/src/visualizer/visualizer/ipython_view.py", line 45, in __init__ IPython.iplib.raw_input_original = input_func AttributeError: 'module' object has no attribute 'iplib' Any help? Thanks in advance, Davi -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Mon Feb 24 15:34:16 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Mon, 24 Feb 2014 15:34:16 -0800 Subject: [ndnSIM] IPython IPLIB error In-Reply-To: References: Message-ID: <5B3DBEB8-5119-44BB-8D32-6A94CE635481@ucla.edu> Hi Davi, Unfortunately, I still don't have a solution for that, since I'm not sure how to reproduce the problem. Which platform you're running the code on, and which version of Python are you using? The error seems to be related to updates in IPython interface and NS-3 is not supported these changes yet. Just in case. You don't need visualizer to run the simulation and simulation should work without --vis option. --- Alex On Feb 24, 2014, at 9:35 AM, Davi di Cavalcanti Sampaio wrote: > Hello, > > First time using the ndnSim to simulate NDN. I have all the dependencies installed. When I try to test the examples > > ./waf --run=ndn-simple --vis > > It shows everything, but when I try to see the shell this error is what I got. I saw that in November someone had the same problem, but I haven't found any solution. I have installed everything using the latest versions (I did this this weekend) > > Traceback (most recent call last): > File "/home/davicav/ndnSIM/ns-3/src/visualizer/visualizer/core.py", line 1481, in _start_shell > ipython = ipython_view.IPythonView() > File "/home/davicav/ndnSIM/ns-3/src/visualizer/visualizer/ipython_view.py", line 250, in __init__ > input_func=self.raw_input) > File "/home/davicav/ndnSIM/ns-3/src/visualizer/visualizer/ipython_view.py", line 45, in __init__ > IPython.iplib.raw_input_original = input_func > AttributeError: 'module' object has no attribute 'iplib' > > > Any help? > > Thanks in advance, > Davi > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim From mohammad.hovaidi.ardestani at aalto.fi Tue Feb 25 06:55:24 2014 From: mohammad.hovaidi.ardestani at aalto.fi (Mohammad Hovaidi Ardestani) Date: Tue, 25 Feb 2014 16:55:24 +0200 Subject: [ndnSIM] PIT Pruning Time Message-ID: Dear all, I am wondering what is the relationship between PIT Pruning Time and the number of Timedout Interests. In my Scenario when ?I decrease the pruning time out, the number of Timed out Interests will grow drastically. I expected to have more discarded data packet(DDOS Attack detection) rather than increased number of Timed out Interests. Thanks for your response in advance! - Mohammad -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Tue Feb 25 17:52:10 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Tue, 25 Feb 2014 17:52:10 -0800 Subject: [ndnSIM] PIT Pruning Time In-Reply-To: References: Message-ID: <7AE1507F-0C45-464B-98D2-F4DBC9215BE9@ucla.edu> Hi Mohammad, Everything depends on your particular scenario and whether you have set limits on PIT table size. If you have set them, then non-zero pruning time will prevent new interests to be accepted, potentially resulting in more timeouts. Other than that, I cannot immediately see the reason for increased number of timeouts. --- Alex On Feb 25, 2014, at 6:55 AM, Mohammad Hovaidi Ardestani wrote: > Dear all, > I am wondering what is the relationship between PIT Pruning Time and the number of Timedout Interests. In my Scenario when I decrease the pruning time out, the number of Timed out Interests will grow drastically. > I expected to have more discarded data packet(DDOS Attack detection) rather than increased number of Timed out Interests. > Thanks for your response in advance! > - Mohammad > From poschdaniel2 at gmail.com Wed Feb 26 04:17:13 2014 From: poschdaniel2 at gmail.com (Daniel Posch) Date: Wed, 26 Feb 2014 13:17:13 +0100 Subject: [ndnSIM] questions regarding in-network adaptation and sliding window / congestion control implementation Message-ID: <530DDB49.5020201@gmail.com> Dear all, I am working on the idea to use in-network adaptation (INA) in NDN. For simulations with large numbers of hosts I want to use ndnSIM. Currently I am struggling with two questions regarding the simulation: 1. For the transmission of multimedia data I need to request multiple data packets at once; otherwise the transmission throughput is too low. I have implemented a kind of "sliding-window / congestion-control interest algorithm" in my application that extends the ndn::App class. However, I think it might be a better choice to add this functionality to an extended class of ndn::Face? What do you think is the correct tier for this functionality, the ndn::Face or the ndn::App? 2. What would be the easiest way for an intermediate NDN-node to scan the transmission channel and if necessary to modify the flowing NDN-packets? For instance, there are three nodes connected behind one another: dest-node <------> INA-node <------> source-node. Let's assume that the dest-node is requesting packets of two different classes from the source-node and the INA-node should simply drop packets of the second class. Is it possible to implement the needed functionality for the INA-node as ndn::App or would I have to implement this deeper in the ndnSIM core's code? If its somehow possible I would prefer to implement this as an extension to the ndn::App class. Any suggestions/comments are appreciated. Best regards, Daniel From mohammad.hovaidi.ardestani at aalto.fi Wed Feb 26 05:43:16 2014 From: mohammad.hovaidi.ardestani at aalto.fi (Hovaidi Ardestani Mohammad) Date: Wed, 26 Feb 2014 13:43:16 +0000 Subject: [ndnSIM] PIT size Message-ID: Hi all, I have a basic question about PIT size and its role to control the traffic flow. In my scenario when I change the PIT size into the lower value, the result shows more DropData. I reckon the small size of PIT means the small number of data requests and consequently the small number of DropData but large number of InterestData. Is It so? On the other hand, when PIT overflows, we would expect an increase rate of retransmissons from the downstream nodes. What would be the role of increasing retransmission rate on the packet drops both on layer 2 and 3. I really appreciate your response in advance! -Mohammad -------------- next part -------------- An HTML attachment was scrubbed... URL: From davi at insert.uece.br Wed Feb 26 09:06:30 2014 From: davi at insert.uece.br (Davi di Cavalcanti Sampaio) Date: Wed, 26 Feb 2014 14:06:30 -0300 Subject: [ndnSIM] IPython IPLIB error In-Reply-To: <5B3DBEB8-5119-44BB-8D32-6A94CE635481@ucla.edu> References: <5B3DBEB8-5119-44BB-8D32-6A94CE635481@ucla.edu> Message-ID: Hello Alex, Thank you for the answer. I found out the problem. Ubuntu installs the 0.11 version of IPython and it doesn't let you install any other version, so I cloned the 0.10.2 version from github and installed manually. It worked! I guess if you install the 0.11 you can reproduce the error. Thank you, Davi 2014-02-24 20:34 GMT-03:00 Alex Afanasyev : > Hi Davi, > > Unfortunately, I still don't have a solution for that, since I'm not sure > how to reproduce the problem. > > Which platform you're running the code on, and which version of Python are > you using? The error seems to be related to updates in IPython interface > and NS-3 is not supported these changes yet. > > > Just in case. You don't need visualizer to run the simulation and > simulation should work without --vis option. > > --- > Alex > > On Feb 24, 2014, at 9:35 AM, Davi di Cavalcanti Sampaio < > davi at insert.uece.br> wrote: > > > Hello, > > > > First time using the ndnSim to simulate NDN. I have all the dependencies > installed. When I try to test the examples > > > > ./waf --run=ndn-simple --vis > > > > It shows everything, but when I try to see the shell this error is what > I got. I saw that in November someone had the same problem, but I haven't > found any solution. I have installed everything using the latest versions > (I did this this weekend) > > > > Traceback (most recent call last): > > File "/home/davicav/ndnSIM/ns-3/src/visualizer/visualizer/core.py", > line 1481, in _start_shell > > ipython = ipython_view.IPythonView() > > File > "/home/davicav/ndnSIM/ns-3/src/visualizer/visualizer/ipython_view.py", line > 250, in __init__ > > input_func=self.raw_input) > > File > "/home/davicav/ndnSIM/ns-3/src/visualizer/visualizer/ipython_view.py", line > 45, in __init__ > > IPython.iplib.raw_input_original = input_func > > AttributeError: 'module' object has no attribute 'iplib' > > > > > > Any help? > > > > Thanks in advance, > > Davi > > _______________________________________________ > > 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 leshuyuan at 163.com Thu Feb 27 23:43:01 2014 From: leshuyuan at 163.com (=?GBK?B?wNbK5tSt?=) Date: Fri, 28 Feb 2014 15:43:01 +0800 (CST) Subject: [ndnSIM] How does the pit limit be initialized with per-pit-limit forwarding strategy Message-ID: <272cd38c.1a0fa.1447772442e.Coremail.leshuyuan@163.com> Hi all, I have a question about per-pit-limt forwarding strategy.How does the pit limit be initialized. I've looked into the ndn-stack-helper.cc and I found the face limit was initialized in method StackHelper::PointToPointNetDeviceCallback. But I have no ideal about how does pit limit be initailized. -------------- next part -------------- An HTML attachment was scrubbed... URL: From leshuyuan at 163.com Fri Feb 28 01:30:52 2014 From: leshuyuan at 163.com (=?GBK?B?wNbK5tSt?=) Date: Fri, 28 Feb 2014 17:30:52 +0800 (CST) Subject: [ndnSIM] How does the fib limit be initialized with per-pit-limit forwarding strategy Message-ID: <3c00b768.1cc13.14477d50301.Coremail.leshuyuan@163.com> Hi all, Sorry for my mistake in my last email. My question is how does the fib limit be initialized. I've looked into the ndn-stack-helper.cc and I found the face limit was initialized in method StackHelper::PointToPointNetDeviceCallback. But I have no ideal about how does fib limit be initailized. -------------- next part -------------- An HTML attachment was scrubbed... URL: