From ahmed.waliullah.kazi at gmail.com Thu May 1 12:54:38 2014 From: ahmed.waliullah.kazi at gmail.com (Wali) Date: Thu, 1 May 2014 14:54:38 -0500 Subject: [ndnSIM] HopCounts!!? Message-ID: Hi Alex, I hope you are doing well. I have come across a problem with hopcounts which is not consistent with the explanation offered in: http://ndnsim.net/metric.html#application-level-trace-helper. It is quite clear that when a packet is satisfied by a cache then the hopcount will be even while when it is satisfied at the repository then it will be odd. However, in practice that is not happening. For a sanity check, I ran ndn-tree-cs-tracers.cc, and attached onto it the AppDelayTracer. Now, even though I can see CacheHits due to the CSTracer, but I cannot see any hopcounts in the AppDelayTrace output that are odd. Has the source been updated to not count the hop from network-level to application-level for the Interest and Data packets? With appreciation and thanks, Wali. -------------- next part -------------- An HTML attachment was scrubbed... URL: From zeynalvand at ce.sharif.edu Fri May 2 00:56:48 2014 From: zeynalvand at ce.sharif.edu (L.Zeynalvand) Date: Fri, 02 May 2014 12:26:48 +0430 Subject: [ndnSIM] encryption in ndnSim In-Reply-To: <39F17CB4-713E-481F-B2C5-67EF84CA524B@ucla.edu> References: <39F17CB4-713E-481F-B2C5-67EF84CA524B@ucla.edu> Message-ID: <27b21f6ec0814913da2ff5ce67ebc1fa@ce.sharif.edu> Thank you Alex, that evil bit helps alot. On 01.05.2014 08:36, Alex Afanasyev wrote: > 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 -- Leonid Zeynalvand M.Sc Information Technology Sharif University of Technology From glai.amira at yahoo.fr Sat May 3 15:04:28 2014 From: glai.amira at yahoo.fr (Glai Amira) Date: Sat, 3 May 2014 23:04:28 +0100 (BST) Subject: [ndnSIM] DumbRequester Message-ID: <1399154668.70844.YahooMailNeo@web172304.mail.ir2.yahoo.com> Hello everybody,? i use the 'dumbrequester' in a scenario, but i have this message: "assert failed. cond="uid != 0", msg="Assert in TypeId::LookupByName: DumbRequester not found", file=../src/core/model/type-id.cc, line=539?terminate called without an active exception"? can anyone help me??? and when i execute "dumbrequester" file .cc and .h,?several errors was occurred, i don't know where is the problem, i don't change anything... :( best regards. -------------- next part -------------- An HTML attachment was scrubbed... URL: From cghali at uci.edu Sat May 3 15:15:22 2014 From: cghali at uci.edu (Cesar Ghali) Date: Sat, 03 May 2014 15:15:22 -0700 Subject: [ndnSIM] DumbRequester In-Reply-To: <1399154668.70844.YahooMailNeo@web172304.mail.ir2.yahoo.com> References: <1399154668.70844.YahooMailNeo@web172304.mail.ir2.yahoo.com> Message-ID: <53656A7A.3060501@uci.edu> Were you able to compile ndnSIM using waf? What are the errors that you're getting? Cesar On 05/03/2014 03:04 PM, Glai Amira wrote: > Hello everybody, > i use the 'dumbrequester' in a scenario, but i have this message: > "assert failed. cond="uid != 0", msg="Assert in TypeId::LookupByName: > DumbRequester not found", file=../src/core/model/type-id.cc, line=539 > terminate called without an active exception" > > can anyone help me??? > > and when i execute "dumbrequester" file .cc and .h, several errors was > occurred, i don't know where is the problem, i don't change anything... :( > > best regards. > > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim -- PGP Key: http://www.cesarghali.info/contact.html PGP Key ID: 0x455D8052 -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Sat May 3 21:05:15 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Sat, 3 May 2014 21:05:15 -0700 Subject: [ndnSIM] DumbRequester In-Reply-To: <53656A7A.3060501@uci.edu> References: <1399154668.70844.YahooMailNeo@web172304.mail.ir2.yahoo.com> <53656A7A.3060501@uci.edu> Message-ID: Hi Glai, The problem seems to be in the way you created your scenario. DumbRequester is not part of of ndnSIM core, so you have to specifically compile it in your scenario. If you're using scratch/ folder for your scenarios, then instead of just putting your scenario file in there, create a folder with the scenario name, put your main scenario file in there, and also copy dumb-requester.cc into the folder. This way dumb-requester.cc class will be compiled together with your scenario and you shouldn't get errors anymore. --- Alex On May 3, 2014, at 3:15 PM, Cesar Ghali wrote: > Were you able to compile ndnSIM using waf? What are the errors that you're getting? > > Cesar > > > On 05/03/2014 03:04 PM, Glai Amira wrote: >> Hello everybody, >> i use the 'dumbrequester' in a scenario, but i have this message: "assert failed. cond="uid != 0", msg="Assert in TypeId::LookupByName: DumbRequester not found", file=../src/core/model/type-id.cc, line=539 terminate called without an active exception" >> >> can anyone help me??? >> >> and when i execute "dumbrequester" file .cc and .h, several errors was occurred, i don't know where is the problem, i don't change anything... :( >> >> 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 glai.amira at yahoo.fr Sun May 4 04:10:09 2014 From: glai.amira at yahoo.fr (Glai Amira) Date: Sun, 4 May 2014 12:10:09 +0100 (BST) Subject: [ndnSIM] DumbRequester In-Reply-To: References: <1399154668.70844.YahooMailNeo@web172304.mail.ir2.yahoo.com> <53656A7A.3060501@uci.edu> Message-ID: <1399201809.48188.YahooMailNeo@web172303.mail.ir2.yahoo.com> hi Alex, i try the solution but i have this error: "Build failed ?-> task in 'dumb-requester' failed (exit status 1):? {task 152672332: cxx dumb-requester.cc -> dumb-requester.cc.5.o} ['/usr/bin/g++', '-O0', '-ggdb', '-g3', '-Wall', '-Werror', '-Wno-error=deprecated-declarations', '-fstrict-aliasing', '-Wstrict-aliasing', '-pthread', '-pthread', '-fno-strict-aliasing', '-fwrapv', '-fstack-protector', '-fno-strict-aliasing', '-I.', '-I..', '-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/harfbuzz', '-I/usr/include/libxml2', '-I/usr/include', '-I/usr/include/python2.7', '-I/usr/include/i386-linux-gnu/python2.7', '-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', '-DNDEBUG', '-D_FORTIFY_SOURCE=2', '../scratch/dumb-requester.cc', '-c', '-o', 'scratch/dumb-requester.cc.5.o']" and when i compile the "dumb-requester.cc" file, i have this errors:? "[2321/2383] cxxprogram: build/scratch/dumb-requester.cc.5.o -> build/scratch/dumb-requester /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 0 has invalid symbol index 11 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 1 has invalid symbol index 12 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 2 has invalid symbol index 2 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 3 has invalid symbol index 2 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 4 has invalid symbol index 11 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 5 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 6 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 7 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 8 has invalid symbol index 12 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 9 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 10 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 11 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 12 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 13 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 14 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 15 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 16 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 17 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 18 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 19 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 20 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 21 has invalid symbol index 22 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_line): relocation 0 has invalid symbol index 2 /usr/lib/gcc/i686-linux-gnu/4.7/../../../i386-linux-gnu/crt1.o: In function `_start': (.text+0x18): undefined reference to `main' collect2: error: ld returned 1 exit status Waf: Leaving directory `/home/amoura/ndnSIM/ns-3/build' Build failed ?-> task in 'dumb-requester' failed (exit status 1):? {task 149728108: cxxprogram dumb-requester.cc.5.o -> dumb-requester} ['/usr/bin/g++', '-pthread', '-pthread', '-Wl,-Bsymbolic-functions', '-Wl,-z,relro', 'scratch/dumb-requester.cc.5.o', '-o', '/home/amoura/ndnSIM/ns-3/build/scratch/dumb-requester', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-Wl,--no-as-needed', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L/usr/lib', '-L/usr/lib', '-lns3-dev-test-debug', '-lns3-dev-csma-layout-debug', '-lns3-dev-point-to-point-layout-debug', '-lns3-dev-netanim-debug', '-lns3-dev-lte-debug', '-lns3-dev-spectrum-debug', '-lns3-dev-antenna-debug', '-lns3-dev-aodv-debug', '-lns3-dev-dsdv-debug', '-lns3-dev-dsr-debug', '-lns3-dev-mesh-debug', '-lns3-dev-olsr-debug', '-lns3-dev-csma-debug', '-lns3-dev-wimax-debug', '-lns3-dev-applications-debug', '-lns3-dev-virtual-net-device-debug', '-lns3-dev-uan-debug', '-lns3-dev-energy-debug', '-lns3-dev-flow-monitor-debug', '-lns3-dev-ndnSIM-debug', '-lns3-dev-visualizer-debug', '-lns3-dev-nix-vector-routing-debug', '-lns3-dev-tap-bridge-debug', '-lns3-dev-internet-debug', '-lns3-dev-bridge-debug', '-lns3-dev-point-to-point-debug', '-lns3-dev-mpi-debug', '-lns3-dev-wifi-debug', '-lns3-dev-buildings-debug', '-lns3-dev-propagation-debug', '-lns3-dev-mobility-debug', '-lns3-dev-config-store-debug', '-lns3-dev-emu-debug', '-lns3-dev-fd-net-device-debug', '-lns3-dev-topology-read-debug', '-lns3-dev-network-debug', '-lns3-dev-stats-debug', '-lns3-dev-core-debug', '-lrt', '-lgsl', '-lgslcblas', '-lm', '-lsqlite3', '-lgtk-x11-2.0', '-lgdk-x11-2.0', '-latk-1.0', '-lgio-2.0', '-lpangoft2-1.0', '-lpangocairo-1.0', '-lgdk_pixbuf-2.0', '-lcairo', '-lpango-1.0', '-lfreetype', '-lfontconfig', '-lgobject-2.0', '-lglib-2.0', '-lxml2', '-lboost_graph-mt', '-lboost_system-mt', '-lboost_signals-mt', '-lboost_filesystem-mt', '-lpython2.7']" this errors were seen in "scratch/" folder,? but i have this: "program 'dumb-requester' not found; available programs are: ['aodv', 'src/aodv/examples/aodv', 'csma-bridge', 'src/bridge/examples/csma-bridge', 'csma-bridge-one-hop', 'src/bridge/examples/csma-bridge-one-hop', 'buildings-pathloss-profiler', 'src/buildings/examples/buildings-pathloss-profiler', 'config-store-save', 'src/config-store/examples/config-store-save', 'main-callback', 'src/core/examples/main-callback',..." when i compile "dumb-requester" file in its first location: src/ndnSIM/examples/custom-apps :( best regards Le Dimanche 4 mai 2014 5h07, Alex Afanasyev a ?crit : Hi Glai, > > >The problem seems to be in the way you created your scenario. ?DumbRequester is not part of of ndnSIM core, so you have to specifically compile it in your scenario. ?If you're using scratch/ folder for your scenarios, then instead of just putting your scenario file in there, create a folder with the scenario name, put your main scenario file in there, and also copy dumb-requester.cc into the folder. ?This way dumb-requester.cc class will be compiled together with your scenario and you shouldn't get errors anymore. > > >--- >Alex > >On May 3, 2014, at 3:15 PM, Cesar Ghali wrote: > >Were you able to compile ndnSIM using waf? What are the errors that you're getting? > >Cesar > > >On 05/03/2014 03:04 PM, Glai Amira wrote: > >Hello everybody,? >>i use the 'dumbrequester' in a scenario, but i have this message: "assert failed. cond="uid != 0", msg="Assert in TypeId::LookupByName: DumbRequester not found", file=../src/core/model/type-id.cc, line=539?terminate called without an active exception"? >> >> >>can anyone help me??? >> >> >>and when i execute "dumbrequester" file .cc and .h,?several errors was occurred, i don't know where is the problem, i don't change anything... :( >> >> >>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 alexander.afanasyev at ucla.edu Sun May 4 23:11:40 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Sun, 4 May 2014 23:11:40 -0700 Subject: [ndnSIM] DumbRequester In-Reply-To: <1399201809.48188.YahooMailNeo@web172303.mail.ir2.yahoo.com> References: <1399154668.70844.YahooMailNeo@web172304.mail.ir2.yahoo.com> <53656A7A.3060501@uci.edu> <1399201809.48188.YahooMailNeo@web172303.mail.ir2.yahoo.com> Message-ID: <20891A0F-5DF5-4F7C-A1D7-6670AEF91467@ucla.edu> Hi Glai, You didn't follow my suggestion. I suggested to create a directory and put all your new files in there: scratch/your-scenario/dumb-requester.cc scratch/your-scenario/your-scenario.cc NS-3's waf script treats differently just files that are put into scratch/ folder and directories. --- Alex On May 4, 2014, at 4:10 AM, Glai Amira wrote: > hi Alex, > i try the solution but i have this error: "Build failed > -> task in 'dumb-requester' failed (exit status 1): > {task 152672332: cxx dumb-requester.cc -> dumb-requester.cc.5.o} > ['/usr/bin/g++', '-O0', '-ggdb', '-g3', '-Wall', '-Werror', '-Wno-error=deprecated-declarations', '-fstrict-aliasing', '-Wstrict-aliasing', '-pthread', '-pthread', '-fno-strict-aliasing', '-fwrapv', '-fstack-protector', '-fno-strict-aliasing', '-I.', '-I..', '-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/harfbuzz', '-I/usr/include/libxml2', '-I/usr/include', '-I/usr/include/python2.7', '-I/usr/include/i386-linux-gnu/python2.7', '-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', '-DNDEBUG', '-D_FORTIFY_SOURCE=2', '../scratch/dumb-requester.cc', '-c', '-o', 'scratch/dumb-requester.cc.5.o']" > > and when i compile the "dumb-requester.cc" file, i have this errors: > "[2321/2383] cxxprogram: build/scratch/dumb-requester.cc.5.o -> build/scratch/dumb-requester > /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 0 has invalid symbol index 11 > /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 1 has invalid symbol index 12 > /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 2 has invalid symbol index 2 > /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 3 has invalid symbol index 2 > /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 4 has invalid symbol index 11 > /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 5 has invalid symbol index 13 > /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 6 has invalid symbol index 13 > /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 7 has invalid symbol index 13 > /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 8 has invalid symbol index 12 > /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 9 has invalid symbol index 13 > /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 10 has invalid symbol index 13 > /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 11 has invalid symbol index 13 > /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 12 has invalid symbol index 13 > /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 13 has invalid symbol index 13 > /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 14 has invalid symbol index 13 > /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 15 has invalid symbol index 13 > /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 16 has invalid symbol index 13 > /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 17 has invalid symbol index 13 > /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 18 has invalid symbol index 13 > /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 19 has invalid symbol index 13 > /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 20 has invalid symbol index 13 > /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 21 has invalid symbol index 22 > /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_line): relocation 0 has invalid symbol index 2 > /usr/lib/gcc/i686-linux-gnu/4.7/../../../i386-linux-gnu/crt1.o: In function `_start': > (.text+0x18): undefined reference to `main' > collect2: error: ld returned 1 exit status > Waf: Leaving directory `/home/amoura/ndnSIM/ns-3/build' > Build failed > -> task in 'dumb-requester' failed (exit status 1): > {task 149728108: cxxprogram dumb-requester.cc.5.o -> dumb-requester} > ['/usr/bin/g++', '-pthread', '-pthread', '-Wl,-Bsymbolic-functions', '-Wl,-z,relro', 'scratch/dumb-requester.cc.5.o', '-o', '/home/amoura/ndnSIM/ns-3/build/scratch/dumb-requester', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-Wl,--no-as-needed', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L/usr/lib', '-L/usr/lib', '-lns3-dev-test-debug', '-lns3-dev-csma-layout-debug', '-lns3-dev-point-to-point-layout-debug', '-lns3-dev-netanim-debug', '-lns3-dev-lte-debug', '-lns3-dev-spectrum-debug', '-lns3-dev-antenna-debug', '-lns3-dev-aodv-debug', '-lns3-dev-dsdv-debug', '-lns3-dev-dsr-debug', '-lns3-dev-mesh-debug', '-lns3-dev-olsr-debug', '-lns3-dev-csma-debug', '-lns3-dev-wimax-debug', '-lns3-dev-applications-debug', '-lns3-dev-virtual-net-device-debug', '-lns3-dev-uan-debug', '-lns3-dev-energy-debug', '-lns3-dev-flow-monitor-debug', '-lns3-dev-ndnSIM-debug', '-lns3-dev-visualizer-debug', '-lns3-dev-nix-vector-routing-debug', '-lns3-dev-tap-bridge-debug', '-lns3-dev-internet-debug', '-lns3-dev-bridge-debug', '-lns3-dev-point-to-point-debug', '-lns3-dev-mpi-debug', '-lns3-dev-wifi-debug', '-lns3-dev-buildings-debug', '-lns3-dev-propagation-debug', '-lns3-dev-mobility-debug', '-lns3-dev-config-store-debug', '-lns3-dev-emu-debug', '-lns3-dev-fd-net-device-debug', '-lns3-dev-topology-read-debug', '-lns3-dev-network-debug', '-lns3-dev-stats-debug', '-lns3-dev-core-debug', '-lrt', '-lgsl', '-lgslcblas', '-lm', '-lsqlite3', '-lgtk-x11-2.0', '-lgdk-x11-2.0', '-latk-1.0', '-lgio-2.0', '-lpangoft2-1.0', '-lpangocairo-1.0', '-lgdk_pixbuf-2.0', '-lcairo', '-lpango-1.0', '-lfreetype', '-lfontconfig', '-lgobject-2.0', '-lglib-2.0', '-lxml2', '-lboost_graph-mt', '-lboost_system-mt', '-lboost_signals-mt', '-lboost_filesystem-mt', '-lpython2.7']" this errors were seen in "scratch/" folder, > > but i have this: "program 'dumb-requester' not found; available programs are: ['aodv', 'src/aodv/examples/aodv', 'csma-bridge', 'src/bridge/examples/csma-bridge', 'csma-bridge-one-hop', 'src/bridge/examples/csma-bridge-one-hop', 'buildings-pathloss-profiler', 'src/buildings/examples/buildings-pathloss-profiler', 'config-store-save', 'src/config-store/examples/config-store-save', 'main-callback', 'src/core/examples/main-callback',..." when i compile "dumb-requester" file in its first location: src/ndnSIM/examples/custom-apps :( > > best regards > Le Dimanche 4 mai 2014 5h07, Alex Afanasyev a ?crit : > Hi Glai, > > The problem seems to be in the way you created your scenario. DumbRequester is not part of of ndnSIM core, so you have to specifically compile it in your scenario. If you're using scratch/ folder for your scenarios, then instead of just putting your scenario file in there, create a folder with the scenario name, put your main scenario file in there, and also copy dumb-requester.cc into the folder. This way dumb-requester.cc class will be compiled together with your scenario and you shouldn't get errors anymore. > > --- > Alex > > On May 3, 2014, at 3:15 PM, Cesar Ghali wrote: > > > Were you able to compile ndnSIM using waf? What are the errors that you're getting? > > Cesar > > > On 05/03/2014 03:04 PM, Glai Amira wrote: >> Hello everybody, >> i use the 'dumbrequester' in a scenario, but i have this message: "assert failed. cond="uid != 0", msg="Assert in TypeId::LookupByName: DumbRequester not found", file=../src/core/model/type-id.cc, line=539 terminate called without an active exception" >> >> can anyone help me??? >> >> and when i execute "dumbrequester" file .cc and .h, several errors was occurred, i don't know where is the problem, i don't change anything... :( >> >> 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 > > > _______________________________________________ > 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 glai.amira at yahoo.fr Mon May 5 03:59:15 2014 From: glai.amira at yahoo.fr (Glai Amira) Date: Mon, 5 May 2014 11:59:15 +0100 (BST) Subject: [ndnSIM] DumbRequester In-Reply-To: <20891A0F-5DF5-4F7C-A1D7-6670AEF91467@ucla.edu> References: <1399154668.70844.YahooMailNeo@web172304.mail.ir2.yahoo.com> <53656A7A.3060501@uci.edu> <1399201809.48188.YahooMailNeo@web172303.mail.ir2.yahoo.com> <20891A0F-5DF5-4F7C-A1D7-6670AEF91467@ucla.edu> Message-ID: <1399287555.20337.YahooMailNeo@web172301.mail.ir2.yahoo.com> hi Alex, thank you so much, i didn't understand you in the begin, but it works now. have a good day :) best regards. Le Lundi 5 mai 2014 7h11, Alex Afanasyev a ?crit : Hi Glai, > >You didn't follow my suggestion. ?I suggested to create a directory and put all your new files in there: > > >scratch/your-scenario/dumb-requester.cc >scratch/your-scenario/your-scenario.cc > > >NS-3's waf script treats differently just files that are put into scratch/ folder and directories. > > >--- >Alex > > > > > >On May 4, 2014, at 4:10 AM, Glai Amira wrote: > >hi Alex, >>i try the solution but i have this error: "Build failed >>?-> task in 'dumb-requester' failed (exit status 1):? >>{task 152672332: cxx dumb-requester.cc -> dumb-requester.cc.5.o} >>['/usr/bin/g++', '-O0', '-ggdb', '-g3', '-Wall', '-Werror', '-Wno-error=deprecated-declarations', '-fstrict-aliasing', '-Wstrict-aliasing', '-pthread', '-pthread', '-fno-strict-aliasing', '-fwrapv', '-fstack-protector', '-fno-strict-aliasing', '-I.', '-I..', '-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/harfbuzz', '-I/usr/include/libxml2', '-I/usr/include', '-I/usr/include/python2.7', '-I/usr/include/i386-linux-gnu/python2.7', '-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', '-DNDEBUG', '-D_FORTIFY_SOURCE=2', '../scratch/dumb-requester.cc', '-c', '-o', 'scratch/dumb-requester.cc.5.o']" >> >> >>and when i compile the "dumb-requester.cc" file, i have this errors:? >>"[2321/2383] cxxprogram: build/scratch/dumb-requester.cc.5.o -> build/scratch/dumb-requester >>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 0 has invalid symbol index 11 >>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 1 has invalid symbol index 12 >>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 2 has invalid symbol index 2 >>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 3 has invalid symbol index 2 >>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 4 has invalid symbol index 11 >>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 5 has invalid symbol index 13 >>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 6 has invalid symbol index 13 >>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 7 has invalid symbol index 13 >>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 8 has invalid symbol index 12 >>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 9 has invalid symbol index 13 >>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 10 has invalid symbol index 13 >>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 11 has invalid symbol index 13 >>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 12 has invalid symbol index 13 >>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 13 has invalid symbol index 13 >>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 14 has invalid symbol index 13 >>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 15 has invalid symbol index 13 >>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 16 has invalid symbol index 13 >>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 17 has invalid symbol index 13 >>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 18 has invalid symbol index 13 >>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 19 has invalid symbol index 13 >>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 20 has invalid symbol index 13 >>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 21 has invalid symbol index 22 >>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_line): relocation 0 has invalid symbol index 2 >>/usr/lib/gcc/i686-linux-gnu/4.7/../../../i386-linux-gnu/crt1.o: In function `_start': >>(.text+0x18): undefined reference to `main' >>collect2: error: ld returned 1 exit status >>Waf: Leaving directory `/home/amoura/ndnSIM/ns-3/build' >>Build failed >>?-> task in 'dumb-requester' failed (exit status 1):? >>{task 149728108: cxxprogram dumb-requester.cc.5.o -> dumb-requester} >>['/usr/bin/g++', '-pthread', '-pthread', '-Wl,-Bsymbolic-functions', '-Wl,-z,relro', 'scratch/dumb-requester.cc.5.o', '-o', '/home/amoura/ndnSIM/ns-3/build/scratch/dumb-requester', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-Wl,--no-as-needed', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L/usr/lib', '-L/usr/lib', '-lns3-dev-test-debug', '-lns3-dev-csma-layout-debug', '-lns3-dev-point-to-point-layout-debug', '-lns3-dev-netanim-debug', '-lns3-dev-lte-debug', '-lns3-dev-spectrum-debug', '-lns3-dev-antenna-debug', '-lns3-dev-aodv-debug', '-lns3-dev-dsdv-debug', '-lns3-dev-dsr-debug', '-lns3-dev-mesh-debug', '-lns3-dev-olsr-debug', '-lns3-dev-csma-debug', '-lns3-dev-wimax-debug', '-lns3-dev-applications-debug', '-lns3-dev-virtual-net-device-debug', '-lns3-dev-uan-debug', '-lns3-dev-energy-debug', '-lns3-dev-flow-monitor-debug', '-lns3-dev-ndnSIM-debug', '-lns3-dev-visualizer-debug', '-lns3-dev-nix-vector-routing-debug', '-lns3-dev-tap-bridge-debug', '-lns3-dev-internet-debug', '-lns3-dev-bridge-debug', '-lns3-dev-point-to-point-debug', '-lns3-dev-mpi-debug', '-lns3-dev-wifi-debug', '-lns3-dev-buildings-debug', '-lns3-dev-propagation-debug', '-lns3-dev-mobility-debug', '-lns3-dev-config-store-debug', '-lns3-dev-emu-debug', '-lns3-dev-fd-net-device-debug', '-lns3-dev-topology-read-debug', '-lns3-dev-network-debug', '-lns3-dev-stats-debug', '-lns3-dev-core-debug', '-lrt', '-lgsl', '-lgslcblas', '-lm', '-lsqlite3', '-lgtk-x11-2.0', '-lgdk-x11-2.0', '-latk-1.0', '-lgio-2.0', '-lpangoft2-1.0', '-lpangocairo-1.0', '-lgdk_pixbuf-2.0', '-lcairo', '-lpango-1.0', '-lfreetype', '-lfontconfig', '-lgobject-2.0', '-lglib-2.0', '-lxml2', '-lboost_graph-mt', '-lboost_system-mt', '-lboost_signals-mt', '-lboost_filesystem-mt', '-lpython2.7']" this errors were seen in "scratch/" folder,? >> >> >>but i have this: "program 'dumb-requester' not found; available programs are: ['aodv', 'src/aodv/examples/aodv', 'csma-bridge', 'src/bridge/examples/csma-bridge', 'csma-bridge-one-hop', 'src/bridge/examples/csma-bridge-one-hop', 'buildings-pathloss-profiler', 'src/buildings/examples/buildings-pathloss-profiler', 'config-store-save', 'src/config-store/examples/config-store-save', 'main-callback', 'src/core/examples/main-callback',..." when i compile "dumb-requester" file in its first location: src/ndnSIM/examples/custom-apps :( >> >> >>best regards >>Le Dimanche 4 mai 2014 5h07, Alex Afanasyev a ?crit : >> >>Hi Glai, >>> >>> >>>The problem seems to be in the way you created your scenario. ?DumbRequester is not part of of ndnSIM core, so you have to specifically compile it in your scenario. ?If you're using scratch/ folder for your scenarios, then instead of just putting your scenario file in there, create a folder with the scenario name, put your main scenario file in there, and also copy dumb-requester.cc into the folder. ?This way dumb-requester.cc class will be compiled together with your scenario and you shouldn't get errors anymore. >>> >>> >>>--- >>>Alex >>> >>>On May 3, 2014, at 3:15 PM, Cesar Ghali wrote: >>> >>>Were you able to compile ndnSIM using waf? What are the errors that you're getting? >>> >>>Cesar >>> >>> >>>On 05/03/2014 03:04 PM, Glai Amira wrote: >>> >>>Hello everybody,? >>>>i use the 'dumbrequester' in a scenario, but i have this message: "assert failed. cond="uid != 0", msg="Assert in TypeId::LookupByName: DumbRequester not found", file=../src/core/model/type-id.cc, line=539?terminate called without an active exception"? >>>> >>>> >>>>can anyone help me??? >>>> >>>> >>>>and when i execute "dumbrequester" file .cc and .h,?several errors was occurred, i don't know where is the problem, i don't change anything... :( >>>> >>>> >>>>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 >>> >>> >>>_______________________________________________ >>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 glai.amira at yahoo.fr Mon May 5 04:17:08 2014 From: glai.amira at yahoo.fr (Glai Amira) Date: Mon, 5 May 2014 12:17:08 +0100 (BST) Subject: [ndnSIM] DumbRequester In-Reply-To: <1399287555.20337.YahooMailNeo@web172301.mail.ir2.yahoo.com> References: <1399154668.70844.YahooMailNeo@web172304.mail.ir2.yahoo.com> <53656A7A.3060501@uci.edu> <1399201809.48188.YahooMailNeo@web172303.mail.ir2.yahoo.com> <20891A0F-5DF5-4F7C-A1D7-6670AEF91467@ucla.edu> <1399287555.20337.YahooMailNeo@web172301.mail.ir2.yahoo.com> Message-ID: <1399288628.73052.YahooMailNeo@web172303.mail.ir2.yahoo.com> Alex,? when i want to compile "dumb-requester" .cc and .h together, because i want to see what the script did in the /scratch folder with the solution you give me (in another folder), i have this problem:? "/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 0 has invalid symbol index 11 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 1 has invalid symbol index 12 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 2 has invalid symbol index 2 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 3 has invalid symbol index 2 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 4 has invalid symbol index 11 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 5 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 6 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 7 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 8 has invalid symbol index 12 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 9 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 10 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 11 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 12 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 13 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 14 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 15 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 16 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 17 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 18 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 19 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 20 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 21 has invalid symbol index 22 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_line): relocation 0 has invalid symbol index 2 /usr/lib/gcc/i686-linux-gnu/4.7/../../../i386-linux-gnu/crt1.o: In function `_start': (.text+0x18): undefined reference to `main' collect2: error: ld returned 1 exit status Waf: Leaving directory `/home/amoura/ndnSIM/ns-3/build' Build failed ?-> task in 'scripta' failed (exit status 1):? {task 166514796: cxxprogram dumb-requester.cc.3.o -> scripta} ['/usr/bin/g++', '-pthread', '-pthread', '-Wl,-Bsymbolic-functions', '-Wl,-z,relro', 'scratch/scripta/dumb-requester.cc.3.o', '-o', '/home/amoura/ndnSIM/ns-3/build/scratch/scripta/scripta', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-Wl,--no-as-needed', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L/usr/lib', '-L/usr/lib', '-lns3-dev-test-debug', '-lns3-dev-csma-layout-debug', '-lns3-dev-point-to-point-layout-debug', '-lns3-dev-netanim-debug', '-lns3-dev-lte-debug', '-lns3-dev-spectrum-debug', '-lns3-dev-antenna-debug', '-lns3-dev-aodv-debug', '-lns3-dev-dsdv-debug', '-lns3-dev-dsr-debug', '-lns3-dev-mesh-debug', '-lns3-dev-olsr-debug', '-lns3-dev-csma-debug', '-lns3-dev-wimax-debug', '-lns3-dev-applications-debug', '-lns3-dev-virtual-net-device-debug', '-lns3-dev-uan-debug', '-lns3-dev-energy-debug', '-lns3-dev-flow-monitor-debug', '-lns3-dev-ndnSIM-debug', '-lns3-dev-visualizer-debug', '-lns3-dev-nix-vector-routing-debug', '-lns3-dev-tap-bridge-debug', '-lns3-dev-internet-debug', '-lns3-dev-bridge-debug', '-lns3-dev-point-to-point-debug', '-lns3-dev-mpi-debug', '-lns3-dev-wifi-debug', '-lns3-dev-buildings-debug', '-lns3-dev-propagation-debug', '-lns3-dev-mobility-debug', '-lns3-dev-config-store-debug', '-lns3-dev-emu-debug', '-lns3-dev-fd-net-device-debug', '-lns3-dev-topology-read-debug', '-lns3-dev-network-debug', '-lns3-dev-stats-debug', '-lns3-dev-core-debug', '-lrt', '-lgsl', '-lgslcblas', '-lm', '-lsqlite3', '-lgtk-x11-2.0', '-lgdk-x11-2.0', '-latk-1.0', '-lgio-2.0', '-lpangoft2-1.0', '-lpangocairo-1.0', '-lgdk_pixbuf-2.0', '-lcairo', '-lpango-1.0', '-lfreetype', '-lfontconfig', '-lgobject-2.0', '-lglib-2.0', '-lxml2', '-lboost_graph-mt', '-lboost_system-mt', '-lboost_signals-mt', '-lboost_filesystem-mt', '-lpython2.7']" can i compile it or no!!! Le , Glai Amira a ?crit : hi Alex, >thank you so much, i didn't understand you in the begin, but it works now. > > >have a good day :) >best regards. >Le Lundi 5 mai 2014 7h11, Alex Afanasyev a ?crit : > >Hi Glai, >> >>You didn't follow my suggestion. ?I suggested to create a directory and put all your new files in there: >> >> >>scratch/your-scenario/dumb-requester.cc >>scratch/your-scenario/your-scenario.cc >> >> >>NS-3's waf script treats differently just files that are put into scratch/ folder and directories. >> >> >>--- >>Alex >> >> >> >> >> >>On May 4, 2014, at 4:10 AM, Glai Amira wrote: >> >>hi Alex, >>>i try the solution but i have this error: "Build failed >>>?-> task in 'dumb-requester' failed (exit status 1):? >>>{task 152672332: cxx dumb-requester.cc -> dumb-requester.cc.5.o} >>>['/usr/bin/g++', '-O0', '-ggdb', '-g3', '-Wall', '-Werror', '-Wno-error=deprecated-declarations', '-fstrict-aliasing', '-Wstrict-aliasing', '-pthread', '-pthread', '-fno-strict-aliasing', '-fwrapv', '-fstack-protector', '-fno-strict-aliasing', '-I.', '-I..', '-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/harfbuzz', '-I/usr/include/libxml2', '-I/usr/include', '-I/usr/include/python2.7', '-I/usr/include/i386-linux-gnu/python2.7', '-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', '-DNDEBUG', '-D_FORTIFY_SOURCE=2', '../scratch/dumb-requester.cc', '-c', '-o', 'scratch/dumb-requester.cc.5.o']" >>> >>> >>>and when i compile the "dumb-requester.cc" file, i have this errors:? >>>"[2321/2383] cxxprogram: build/scratch/dumb-requester.cc.5.o -> build/scratch/dumb-requester >>>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 0 has invalid symbol index 11 >>>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 1 has invalid symbol index 12 >>>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 2 has invalid symbol index 2 >>>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 3 has invalid symbol index 2 >>>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 4 has invalid symbol index 11 >>>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 5 has invalid symbol index 13 >>>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 6 has invalid symbol index 13 >>>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 7 has invalid symbol index 13 >>>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 8 has invalid symbol index 12 >>>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 9 has invalid symbol index 13 >>>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 10 has invalid symbol index 13 >>>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 11 has invalid symbol index 13 >>>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 12 has invalid symbol index 13 >>>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 13 has invalid symbol index 13 >>>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 14 has invalid symbol index 13 >>>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 15 has invalid symbol index 13 >>>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 16 has invalid symbol index 13 >>>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 17 has invalid symbol index 13 >>>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 18 has invalid symbol index 13 >>>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 19 has invalid symbol index 13 >>>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 20 has invalid symbol index 13 >>>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 21 has invalid symbol index 22 >>>/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_line): relocation 0 has invalid symbol index 2 >>>/usr/lib/gcc/i686-linux-gnu/4.7/../../../i386-linux-gnu/crt1.o: In function `_start': >>>(.text+0x18): undefined reference to `main' >>>collect2: error: ld returned 1 exit status >>>Waf: Leaving directory `/home/amoura/ndnSIM/ns-3/build' >>>Build failed >>>?-> task in 'dumb-requester' failed (exit status 1):? >>>{task 149728108: cxxprogram dumb-requester.cc.5.o -> dumb-requester} >>>['/usr/bin/g++', '-pthread', '-pthread', '-Wl,-Bsymbolic-functions', '-Wl,-z,relro', 'scratch/dumb-requester.cc.5.o', '-o', '/home/amoura/ndnSIM/ns-3/build/scratch/dumb-requester', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-Wl,--no-as-needed', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L/usr/lib', '-L/usr/lib', '-lns3-dev-test-debug', '-lns3-dev-csma-layout-debug', '-lns3-dev-point-to-point-layout-debug', '-lns3-dev-netanim-debug', '-lns3-dev-lte-debug', '-lns3-dev-spectrum-debug', '-lns3-dev-antenna-debug', '-lns3-dev-aodv-debug', '-lns3-dev-dsdv-debug', '-lns3-dev-dsr-debug', '-lns3-dev-mesh-debug', '-lns3-dev-olsr-debug', '-lns3-dev-csma-debug', '-lns3-dev-wimax-debug', '-lns3-dev-applications-debug', '-lns3-dev-virtual-net-device-debug', '-lns3-dev-uan-debug', '-lns3-dev-energy-debug', '-lns3-dev-flow-monitor-debug', '-lns3-dev-ndnSIM-debug', '-lns3-dev-visualizer-debug', '-lns3-dev-nix-vector-routing-debug', '-lns3-dev-tap-bridge-debug', '-lns3-dev-internet-debug', '-lns3-dev-bridge-debug', '-lns3-dev-point-to-point-debug', '-lns3-dev-mpi-debug', '-lns3-dev-wifi-debug', '-lns3-dev-buildings-debug', '-lns3-dev-propagation-debug', '-lns3-dev-mobility-debug', '-lns3-dev-config-store-debug', '-lns3-dev-emu-debug', '-lns3-dev-fd-net-device-debug', '-lns3-dev-topology-read-debug', '-lns3-dev-network-debug', '-lns3-dev-stats-debug', '-lns3-dev-core-debug', '-lrt', '-lgsl', '-lgslcblas', '-lm', '-lsqlite3', '-lgtk-x11-2.0', '-lgdk-x11-2.0', '-latk-1.0', '-lgio-2.0', '-lpangoft2-1.0', '-lpangocairo-1.0', '-lgdk_pixbuf-2.0', '-lcairo', '-lpango-1.0', '-lfreetype', '-lfontconfig', '-lgobject-2.0', '-lglib-2.0', '-lxml2', '-lboost_graph-mt', '-lboost_system-mt', '-lboost_signals-mt', '-lboost_filesystem-mt', '-lpython2.7']" this errors were seen in "scratch/" folder,? >>> >>> >>>but i have this: "program 'dumb-requester' not found; available programs are: ['aodv', 'src/aodv/examples/aodv', 'csma-bridge', 'src/bridge/examples/csma-bridge', 'csma-bridge-one-hop', 'src/bridge/examples/csma-bridge-one-hop', 'buildings-pathloss-profiler', 'src/buildings/examples/buildings-pathloss-profiler', 'config-store-save', 'src/config-store/examples/config-store-save', 'main-callback', 'src/core/examples/main-callback',..." when i compile "dumb-requester" file in its first location: src/ndnSIM/examples/custom-apps :( >>> >>> >>>best regards >>>Le Dimanche 4 mai 2014 5h07, Alex Afanasyev a ?crit : >>> >>>Hi Glai, >>>> >>>> >>>>The problem seems to be in the way you created your scenario. ?DumbRequester is not part of of ndnSIM core, so you have to specifically compile it in your scenario. ?If you're using scratch/ folder for your scenarios, then instead of just putting your scenario file in there, create a folder with the scenario name, put your main scenario file in there, and also copy dumb-requester.cc into the folder. ?This way dumb-requester.cc class will be compiled together with your scenario and you shouldn't get errors anymore. >>>> >>>> >>>>--- >>>>Alex >>>> >>>>On May 3, 2014, at 3:15 PM, Cesar Ghali wrote: >>>> >>>>Were you able to compile ndnSIM using waf? What are the errors that you're getting? >>>> >>>>Cesar >>>> >>>> >>>>On 05/03/2014 03:04 PM, Glai Amira wrote: >>>> >>>>Hello everybody,? >>>>>i use the 'dumbrequester' in a scenario, but i have this message: "assert failed. cond="uid != 0", msg="Assert in TypeId::LookupByName: DumbRequester not found", file=../src/core/model/type-id.cc, line=539?terminate called without an active exception"? >>>>> >>>>> >>>>>can anyone help me??? >>>>> >>>>> >>>>>and when i execute "dumbrequester" file .cc and .h,?several errors was occurred, i don't know where is the problem, i don't change anything... :( >>>>> >>>>> >>>>>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 >>>> >>>> >>>>_______________________________________________ >>>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 glai.amira at yahoo.fr Mon May 5 04:47:12 2014 From: glai.amira at yahoo.fr (Glai Amira) Date: Mon, 5 May 2014 12:47:12 +0100 (BST) Subject: [ndnSIM] consumerBatches and dumb-requester Message-ID: <1399290432.34099.YahooMailNeo@web172303.mail.ir2.yahoo.com> hi everyone, please i want to use the 'dumb requester' and 'consumerBatches' applications in the same scenario, but i think i can't because i have this error:? "../scratch/scripta/ccn-script1.cc: In function ?int main(int, char**)?: ../scratch/scripta/ccn-script1.cc:63:40: error: redeclaration of ?ns3::ndn::AppHelper consumerHelper? ../scratch/scripta/ccn-script1.cc:61:32: error: ?ns3::ndn::AppHelper consumerHelper? previously declared here Waf: Leaving directory `/home/amoura/ndnSIM/ns-3/build' Build failed ?-> task in 'scripta' failed (exit status 1):? {task 164136332: cxx ccn-script1.cc -> ccn-script1.cc.3.o} ['/usr/bin/g++', '-O0', '-ggdb', '-g3', '-Wall', '-Werror', '-Wno-error=deprecated-declarations', '-fstrict-aliasing', '-Wstrict-aliasing', '-pthread', '-pthread', '-fno-strict-aliasing', '-fwrapv', '-fstack-protector', '-fno-strict-aliasing', '-I.', '-I..', '-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/harfbuzz', '-I/usr/include/libxml2', '-I/usr/include', '-I/usr/include/python2.7', '-I/usr/include/i386-linux-gnu/python2.7', '-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', '-DNDEBUG', '-D_FORTIFY_SOURCE=2', '../scratch/scripta/ccn-script1.cc', '-c', '-o', 'scratch/scripta/ccn-script1.cc.3.o']" if there are any solution, please help me!!!! -------------- next part -------------- An HTML attachment was scrubbed... URL: From glai.amira at yahoo.fr Mon May 5 08:06:35 2014 From: glai.amira at yahoo.fr (Glai Amira) Date: Mon, 5 May 2014 16:06:35 +0100 (BST) Subject: [ndnSIM] freshness example Message-ID: <1399302395.79788.YahooMailNeo@web172305.mail.ir2.yahoo.com> hello again, the example about freshness, it doesn't work, i can't see when is the freshness work, all the time, the consumer have the data from producer and not for one second from the router, i mean the cache in the router??? if i want to refrech the cache of a router, how can i do this??? because in the example, it refresh the consumer and not the cache in the router!!!! best regards -------------- next part -------------- An HTML attachment was scrubbed... URL: From htunhtunu at gmail.com Tue May 6 00:35:15 2014 From: htunhtunu at gmail.com (Tun Tun Oo) Date: Tue, 6 May 2014 16:35:15 +0900 Subject: [ndnSIM] Reading and Removing Tag in Data Packet Message-ID: Dear Alex, Let me explain about my problem with packet tagging. In my simple scenario, R3 has q=30 and R3 tagged to Data packet. When tagged-Data is received by R2,it read tag and have to remove before adding its (q=20) to Data packet. If I correctly understand, it supposed to be received q=30 at R2 and q=20 at R1. Now I can receive q=30 at R2 but unfortunately I also receive q=30 at R1. As my understanding I think, I cannot remove that tag after reading. Could you help me to solve and please advice me what I am misunderstanding. +---------+ +--------+ +---------+ |R1(q=10) | <---Data----- |R2(q=20)| <----Data ---|R3(q=30)| +---------+ +--------+ +----------+ For reading and removing tag at OnData ********************************* 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()< "<< data->GetName()); tag.SetTag (q); data->GetPayload()->AddPacketTag (tag); } Thanks for your help. Regards TUN On Thu, May 1, 2014 at 3:47 PM, Tun Tun Oo wrote: > 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()< } > When I received the data, firstly I read it using PeekPacketTag(tag). > After reading it, I want to remove the tag using RemovePacketTag (tag). > In the last line, I check it remove or not, but I received "Cannot Remove > the tag in the data". > If I am correctly understand, whenever I get this line of "Cannot Remove > Tag...", I cannot remove the tag. > My problem is I always received this message (except actual tagged data > zero) and therefore I cannot add new data to tag. > Why I cannot remove this tag? > Thanks a lot for your help. > > Regards > TUN > On Thu, May 1, 2014 at 1:09 PM, Alex Afanasyev < > alexander.afanasyev at ucla.edu> 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: From rong.you.sjtu at foxmail.com Tue May 6 19:21:55 2014 From: rong.you.sjtu at foxmail.com (=?ISO-8859-1?B?eW91cm9uZw==?=) Date: Wed, 7 May 2014 10:21:55 +0800 Subject: [ndnSIM] dynamic change the lifetime for each entry in PIT Message-ID: Hi, I'm new to ndnSIM, but I want to do some dev job on it. Now I'm confused about: 1. How dynamic change the lifetime for each entry in PIT. 2. How aggregate the PIT entry according to their interest name. 3. How to custom an strategy for PIT? Anybody know that? ------------------ Rong You Shanghai Jiao Tong University Department of Computer Science and Engineering -------------- next part -------------- An HTML attachment was scrubbed... URL: From mejrisafaenig at gmail.com Wed May 7 05:47:43 2014 From: mejrisafaenig at gmail.com (Safa Mejri) Date: Wed, 7 May 2014 13:47:43 +0100 Subject: [ndnSIM] Question about Caching Message-ID: I'm trying to simulate a simple architecture with 4 nodes: 2 consumers, an intermediate router and a producer. But I want a consumer recovers its data from cache of intermediate router for example 5 times then the 6 th time by the producer even. I used Freshness and Stats for caching in intermediate router, but I have not had good results, I could not handle Stats as I wanted. I don't really work with caching, so any idea please? -------------- next part -------------- An HTML attachment was scrubbed... URL: From glai.amira at yahoo.fr Wed May 7 05:57:37 2014 From: glai.amira at yahoo.fr (Glai Amira) Date: Wed, 7 May 2014 13:57:37 +0100 (BST) Subject: [ndnSIM] Question about Caching In-Reply-To: References: Message-ID: <1399467457.51115.YahooMailNeo@web172301.mail.ir2.yahoo.com> hi Safa,? can you please send me your script!! Le Mercredi 7 mai 2014 13h50, Safa Mejri a ?crit : I'm trying to simulate a simple architecture with 4 nodes: 2 consumers, an intermediate router and a producer. But I want a consumer recovers its data from cache of intermediate router for example 5 times then the 6 th time by the producer even. >I used Freshness and Stats for caching in intermediate router, but I have not had good results, I could not handle Stats as I wanted. > >I don't really work with caching, so?any idea please? > >_______________________________________________ >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 Sat May 10 07:20:26 2014 From: chavoosh.ghasemi.off at gmail.com (chavoosh ghasemi) Date: Sat, 10 May 2014 18:50:26 +0430 Subject: [ndnSIM] Modifying source files Message-ID: Hi dear Alex I have a little problem with editing source files (both .h and .cc files), so that after each modifying, I will face re-building source files for running my scenario, which is so irritating! Please guide me to do this in a better manner, and requires no re-building or same issues! Also I read this: http://ndnsim.net/getting-started.html#simulating-using-ndnsim but it did not work and I forced to write simulation directly inside `/scratch'. Best regards *chavoosh* -- *---------------------------- 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 joshjdevl at gmail.com Sun May 11 22:27:54 2014 From: joshjdevl at gmail.com (Josh J) Date: Sun, 11 May 2014 22:27:54 -0700 Subject: [ndnSIM] node names find matching prefix Message-ID: Hi, I would like to install the consumer helper on all nodes which begin with "consumer", so I tried the following though receive a segfault. Is there a way I can find and match all nodes beginning with a certain name? // Consumer ndn::AppHelper consumerHelper ("ns3::ndn::ConsumerZipfMandelbrot"); // Consumer will request /prefix/0, /prefix/1, ... consumerHelper.SetPrefix ("/producer1"); consumerHelper.SetAttribute ("Frequency", StringValue ("10")); // 10 interests a second consumerHelper.SetAttribute("Randomize", StringValue ("uniform")); consumerHelper.Install (Names::Find("consumer*")); Thanks, Josh -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Sun May 11 23:03:42 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Sun, 11 May 2014 23:03:42 -0700 Subject: [ndnSIM] node names find matching prefix In-Reply-To: References: Message-ID: <736E3B9B-079E-4E9D-8B4C-004D9AA6D779@ucla.edu> Hi Josh, Unfortunately, as of right now, you have to do a little bit more job than that. You have to iterate over all nodes (NS-3 has a global variable for that) and check their names. Something like that: for (NodeList::Iterator node = NodeList::Begin(); node != NodeList::End(); node++) { if (Names::FindName (*node).compare (0, sizeof("consumer-"), "consumer-") == 0) { consumerHelper.Install (*node); } } If you can spend some time and implement a generic way for doing this in AppHelper, I would be happy to merge that code in. --- Alex On May 11, 2014, at 10:27 PM, Josh J wrote: > Hi, > > I would like to install the consumer helper on all nodes which begin with "consumer", so I tried the following though receive a segfault. Is there a way I can find and match all nodes beginning with a certain name? > > // Consumer > ndn::AppHelper consumerHelper ("ns3::ndn::ConsumerZipfMandelbrot"); > // Consumer will request /prefix/0, /prefix/1, ... > consumerHelper.SetPrefix ("/producer1"); > consumerHelper.SetAttribute ("Frequency", StringValue ("10")); // 10 interests a second > consumerHelper.SetAttribute("Randomize", StringValue ("uniform")); > consumerHelper.Install (Names::Find("consumer*")); > > > Thanks, > Josh > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim From joshjdevl at gmail.com Mon May 12 07:13:04 2014 From: joshjdevl at gmail.com (Josh J) Date: Mon, 12 May 2014 07:13:04 -0700 Subject: [ndnSIM] node names find matching prefix In-Reply-To: <736E3B9B-079E-4E9D-8B4C-004D9AA6D779@ucla.edu> References: <736E3B9B-079E-4E9D-8B4C-004D9AA6D779@ucla.edu> Message-ID: Thanks. Do we make patches against git://github.com/cawka/ns-3-dev-ndnSIM.git I may implement this in AppHelper and also a zipf for file sizes as well. Thanks, Josh On Sun, May 11, 2014 at 11:03 PM, Alex Afanasyev < alexander.afanasyev at ucla.edu> wrote: > Hi Josh, > > Unfortunately, as of right now, you have to do a little bit more job than > that. > > You have to iterate over all nodes (NS-3 has a global variable for that) > and check their names. Something like that: > > for (NodeList::Iterator node = NodeList::Begin(); node != NodeList::End(); > node++) > { > if (Names::FindName (*node).compare (0, sizeof("consumer-"), > "consumer-") == 0) > { > consumerHelper.Install (*node); > } > } > > If you can spend some time and implement a generic way for doing this in > AppHelper, I would be happy to merge that code in. > > --- > Alex > > > On May 11, 2014, at 10:27 PM, Josh J wrote: > > > Hi, > > > > I would like to install the consumer helper on all nodes which begin > with "consumer", so I tried the following though receive a segfault. Is > there a way I can find and match all nodes beginning with a certain name? > > > > // Consumer > > ndn::AppHelper consumerHelper ("ns3::ndn::ConsumerZipfMandelbrot"); > > // Consumer will request /prefix/0, /prefix/1, ... > > consumerHelper.SetPrefix ("/producer1"); > > consumerHelper.SetAttribute ("Frequency", StringValue ("10")); // 10 > interests a second > > consumerHelper.SetAttribute("Randomize", StringValue ("uniform")); > > consumerHelper.Install (Names::Find("consumer*")); > > > > > > Thanks, > > 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 Mon May 12 09:06:43 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Mon, 12 May 2014 09:06:43 -0700 Subject: [ndnSIM] node names find matching prefix In-Reply-To: References: <736E3B9B-079E-4E9D-8B4C-004D9AA6D779@ucla.edu> Message-ID: <66A2A342-6F6B-4803-9773-47F8C9DB7161@ucla.edu> Hi Josh, Not exactly. The changes you're talking are NDN-specific, so you would need to submit either patches or pull requests against https://github.com/NDN-Routing/ndnSIM --- Alex On May 12, 2014, at 7:13 AM, Josh J wrote: > Thanks. Do we make patches against > git://github.com/cawka/ns-3-dev-ndnSIM.git > > I may implement this in AppHelper and also a zipf for file sizes as well. > > Thanks, > Josh > > > On Sun, May 11, 2014 at 11:03 PM, Alex Afanasyev wrote: > Hi Josh, > > Unfortunately, as of right now, you have to do a little bit more job than that. > > You have to iterate over all nodes (NS-3 has a global variable for that) and check their names. Something like that: > > for (NodeList::Iterator node = NodeList::Begin(); node != NodeList::End(); node++) > { > if (Names::FindName (*node).compare (0, sizeof("consumer-"), "consumer-") == 0) > { > consumerHelper.Install (*node); > } > } > > If you can spend some time and implement a generic way for doing this in AppHelper, I would be happy to merge that code in. > > --- > Alex > > > On May 11, 2014, at 10:27 PM, Josh J wrote: > > > Hi, > > > > I would like to install the consumer helper on all nodes which begin with "consumer", so I tried the following though receive a segfault. Is there a way I can find and match all nodes beginning with a certain name? > > > > // Consumer > > ndn::AppHelper consumerHelper ("ns3::ndn::ConsumerZipfMandelbrot"); > > // Consumer will request /prefix/0, /prefix/1, ... > > consumerHelper.SetPrefix ("/producer1"); > > consumerHelper.SetAttribute ("Frequency", StringValue ("10")); // 10 interests a second > > consumerHelper.SetAttribute("Randomize", StringValue ("uniform")); > > consumerHelper.Install (Names::Find("consumer*")); > > > > > > Thanks, > > Josh > > _______________________________________________ > > 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 joshjdevl at gmail.com Mon May 12 15:39:10 2014 From: joshjdevl at gmail.com (Josh J) Date: Mon, 12 May 2014 15:39:10 -0700 Subject: [ndnSIM] ZipfMandelbrot content size In-Reply-To: References: Message-ID: Hi Alex, > 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. I'm trying to set up the following scenario. N consumers talking to M producers. Each of the N consumers chooses as a zipf distribution from which of the M producers to send an interest to (meaning there should be unique prefixes for each producer). I would also like to vary the content sizes of each file according to zipf. When you mention to implement ProducerZipfMandelbort, I'm kind of confused since I thought one interest matches one data. So wouldn't I need to generate multiple interests on the consumer side according to the zipf distribution? What needs to be modified on the producer side? Thanks, Josh On Tue, Apr 22, 2014 at 12:51 PM, Alex Afanasyev < alexander.afanasyev at ucla.edu> wrote: > 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 alexander.afanasyev at ucla.edu Mon May 12 15:42:28 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Mon, 12 May 2014 15:42:28 -0700 Subject: [ndnSIM] ZipfMandelbrot content size In-Reply-To: References: Message-ID: On May 12, 2014, at 3:39 PM, Josh J wrote: > Hi Alex, > > > 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. > > I'm trying to set up the following scenario. N consumers talking to M producers. Each of the N consumers chooses as a zipf distribution from which of the M producers to send an interest to (meaning there should be unique prefixes for each producer). I would also like to vary the content sizes of each file according to zipf. > > When you mention to implement ProducerZipfMandelbort, I'm kind of confused since I thought one interest matches one data. So wouldn't I need to generate multiple interests on the consumer side according to the zipf distribution? What needs to be modified on the producer side? Hi Josh, That is why I don't really understand what exactly you're trying to achieve. zipf for consumer requests and zipf for data seems kind of strange. That is, how can you randomly choose size of data for randomly chosen element? > Thanks, > Josh > > > On Tue, Apr 22, 2014 at 12:51 PM, Alex Afanasyev wrote: > 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 >> > > _______________________________________________ > 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 joshjdevl at gmail.com Mon May 12 15:56:07 2014 From: joshjdevl at gmail.com (Josh J) Date: Mon, 12 May 2014 15:56:07 -0700 Subject: [ndnSIM] ZipfMandelbrot content size In-Reply-To: References: Message-ID: > That is why I don't really understand what exactly you're trying to achieve. zipf for consumer requests and zipf for data seems kind of strange. That is, how can you randomly choose size of data for randomly chosen element? I see, well I was hoping to vary the file size across multiple probability distributions (uniform, random, various zipf skews). If I want to vary the zipf across multiple producers, I think I can just tweak the existing ConsumerZipfMandelbrot where the number of items would be instead the number of producers. Thanks, Josh On Mon, May 12, 2014 at 3:42 PM, Alex Afanasyev < alexander.afanasyev at ucla.edu> wrote: > > On May 12, 2014, at 3:39 PM, Josh J wrote: > > Hi Alex, > > > 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. > > I'm trying to set up the following scenario. N consumers talking to M > producers. Each of the N consumers chooses as a zipf distribution from > which of the M producers to send an interest to (meaning there should be > unique prefixes for each producer). I would also like to vary the content > sizes of each file according to zipf. > > When you mention to implement ProducerZipfMandelbort, I'm kind of confused > since I thought one interest matches one data. So wouldn't I need to > generate multiple interests on the consumer side according to the zipf > distribution? What needs to be modified on the producer side? > > > Hi Josh, > > That is why I don't really understand what exactly you're trying to > achieve. zipf for consumer requests and zipf for data seems kind of > strange. That is, how can you randomly choose size of data for randomly > chosen element? > > > Thanks, > Josh > > > On Tue, Apr 22, 2014 at 12:51 PM, Alex Afanasyev < > alexander.afanasyev at ucla.edu> wrote: > >> 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 >> >> > _______________________________________________ > 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 Tue May 13 01:40:57 2014 From: aloulounarjes at yahoo.fr (narjes aloulou) Date: Tue, 13 May 2014 09:40:57 +0100 (BST) Subject: [ndnSIM] Metric and Strategy Message-ID: <1399970457.5343.YahooMailNeo@web172102.mail.ir2.yahoo.com> Hello ndnSim users, I want to send the metric value of the link between two nodes in the method DoPropagateInterest in the strategy layer: R1---------R2------R3 ?? m1??? ??? m2 When i send the interest between R2 and R3 , R2 will send m1 in the interest, then? R3 will send the interest with m1+m2 I found the inFace.GetMetric(), but as I unsderstood it gives the metric of the prefix towards the producer. How can I get the link metric value? (as given in topology file) in the strategy layer? Thanks a lot for your Help Regards -------------- next part -------------- An HTML attachment was scrubbed... URL: From nasserala at gmail.com Tue May 13 07:19:00 2014 From: nasserala at gmail.com (=?UTF-8?Q?Andr=C3=A9_Luiz_Nasserala_Pires?=) Date: Tue, 13 May 2014 09:19:00 -0500 Subject: [ndnSIM] Number of CacheHit/Prefix Message-ID: Hi, Would you like some help: How can I make a trace of CacheHit and CacheMiss a given prefix? thanks, -- _________________________________________ 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 chavoosh.ghasemi.off at gmail.com Tue May 13 09:38:11 2014 From: chavoosh.ghasemi.off at gmail.com (chavoosh ghasemi) Date: Tue, 13 May 2014 21:08:11 +0430 Subject: [ndnSIM] Change payload of content packet Message-ID: Hi I want change payload of content packet and fill it by custom payload in response of different interest packets. How it can be done? Best regards -- *---------------------------- 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 Tue May 13 10:49:05 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Tue, 13 May 2014 10:49:05 -0700 Subject: [ndnSIM] Change payload of content packet In-Reply-To: References: Message-ID: <3ECC3B9D-655F-49B2-A124-7F6927977260@ucla.edu> Hi Chavoosh, You just need to modify the Producer implementation (or write your own producer class). For the payload, you could use any of the methods to create payload "Packet" (http://www.nsnam.org/doxygen/classns3_1_1_packet.html), to which you will be adding NDN header/footer. --- Alex On May 13, 2014, at 9:38 AM, chavoosh ghasemi wrote: > Hi > > I want change payload of content packet and fill it by custom payload in response of different interest packets. How it can be done? > > > Best regards > > -- > ---------------------------- > 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 Tue May 13 10:55:02 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Tue, 13 May 2014 10:55:02 -0700 Subject: [ndnSIM] Number of CacheHit/Prefix In-Reply-To: References: Message-ID: <04D194DD-0863-4277-A925-31FBD2FFED8E@ucla.edu> Hi Andre, You would need to create a custom tracer or modify the existing one. As you may have discovered, the one that we have right now (CsTracer) provides only aggregated information per node. If you have just one fixed prefix, you can just hack in the CsTracer implementation and hard-code it. If not, you may need to do more extensive changes. I would be happy to merge your changes if you can make this function to be generic enough. Thanks, Alex On May 13, 2014, at 7:19 AM, Andr? Luiz Nasserala Pires wrote: > Hi, > > Would you like some help: How can I make a trace of CacheHit and CacheMiss a given prefix? > > thanks, > > -- > _________________________________________ > 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 Tue May 13 10:59:01 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Tue, 13 May 2014 10:59:01 -0700 Subject: [ndnSIM] Modifying source files In-Reply-To: References: Message-ID: <3C48EE04-1DAD-4CB1-9B67-F12652D51542@ucla.edu> Hi Chavoosh, Unfortunately, unless you separate your code from NS-3, as is suggested in https://github.com/cawka/ndnSIM-scenario-template you will end up recompiling a big chunk of NS-3 every time you make a minor change in your scenario. However, if you are modifying NS-3 itself (e.g., something inside src/internet or src/network), then this would unconditionally require recompilation of NS-3, even if you have separated your scenario into different repository. Btw. You mentioned that "it didn't work", but what exactly is the problem? I can try my best to update the instructions in the scenario template, if they are confusing. --- Alex On May 10, 2014, at 7:20 AM, chavoosh ghasemi wrote: > Hi dear Alex > > I have a little problem with editing source files (both .h and .cc files), so that after each modifying, I will face re-building source files for running my scenario, which is so irritating! Please guide me to do this in a better manner, and requires no re-building or same issues! > > Also I read this: > http://ndnsim.net/getting-started.html#simulating-using-ndnsim > but it did not work and I forced to write simulation directly inside `/scratch'. > > Best regards > chavoosh > > > -- > ---------------------------- > 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 junaidakhan88 at icloud.com Tue May 13 13:14:56 2014 From: junaidakhan88 at icloud.com (Junaid Ahmed Khan) Date: Tue, 13 May 2014 22:14:56 +0200 Subject: [ndnSIM] ndnSIM info needed Message-ID: Hello, I am a Ph.D student working on vehicular networks. I am planning to use CCN in VANETs. I found ndnSIM interesting but I would like to know a few things: 1. Does ndnSIM support high mobility scenarios in case I import SUMO mobility model along? 2. Support large number of mobile wireless nodes (Scalable)? 3. Which simulation tool is preferred for ndnSIM (Omnet++ or NS3)? Any response will be appreciated. Thanks Kind Regards, Junaid Ahmed Khan +33.7.58.04.64.34 From iliamo at ucla.edu Tue May 13 13:52:25 2014 From: iliamo at ucla.edu (Ilya Moiseenko) Date: Tue, 13 May 2014 16:52:25 -0400 Subject: [ndnSIM] ndnSIM info needed In-Reply-To: References: Message-ID: <70DB7C66-38E5-46AE-B56B-0C7D6B07EC77@ucla.edu> > Hello, > > I am a Ph.D student working on vehicular networks. I am planning to use CCN in VANETs. I found ndnSIM interesting but I would like to know a few things: > > > 1. Does ndnSIM support high mobility scenarios in case I import SUMO mobility model along? You can use any mobility model written for NS-3 simulator, or write your own. > 2. Support large number of mobile wireless nodes (Scalable)? It depends on the wireless technology that you are simulating. For WiFi I used to have a 50-100 mobile nodes to be simulated in realtime. When you scale to thousands it takes hours to get several minutes of simulation. > 3. Which simulation tool is preferred for ndnSIM (Omnet++ or NS3)? only NS-3 Ilya > > Any response will be appreciated. > > Thanks > Kind Regards, > > > Junaid Ahmed Khan > +33.7.58.04.64.34 > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim From m.mirzazad at gmail.com Tue May 13 19:02:03 2014 From: m.mirzazad at gmail.com (Maziar) Date: Tue, 13 May 2014 19:02:03 -0700 Subject: [ndnSIM] Getting the requester of an object (parent_trie::iterator item) Message-ID: <5372CE9B.4010807@gmail.com> Hi, I want to get the requester of an item in caching policy header file (lru-policy.h ). Do you have any suggestions how can I do that? Thanks Maziar From alexander.afanasyev at ucla.edu Tue May 13 19:06:31 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Tue, 13 May 2014 19:06:31 -0700 Subject: [ndnSIM] Getting the requester of an object (parent_trie::iterator item) In-Reply-To: <5372CE9B.4010807@gmail.com> References: <5372CE9B.4010807@gmail.com> Message-ID: Hi Maziar, What do you mean by "requester"? In NDN you cannot really know who exactly has requested the item. In ndnSIM/NS-3, if you add a custom packet tag to Interest, you could get partial knowledge of the source. However, this knowledge is only partial, as Interests can be aggregated on the way and "source" that you can get would be just one of the requesters, not all of them. --- Alex On May 13, 2014, at 7:02 PM, Maziar wrote: > Hi, > I want to get the requester of an item in caching policy header file (lru-policy.h ). > Do you have any suggestions how can I do that? > > Thanks > Maziar > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim From tongbo2014 at gmail.com Wed May 14 01:53:45 2014 From: tongbo2014 at gmail.com (Bo Tong) Date: Wed, 14 May 2014 16:53:45 +0800 Subject: [ndnSIM] ndnSIM routingcost update when link fail Message-ID: Hi Alex, I'm studying to use ndnSIM recently, but I meet some problems in routingcost calculating. The routingcost is calculating before the simulator run, but when the link fail for a long time, the routingcost do not update while the real rout cost has changed. For example, n1------n2-------n3 | | | | n4-------n5 the routingcost from n1 to n3 is 2 when all link is good. But when the link between n2 and n3 is fail, the real rout cost from n1 to n3 has changed to 4, but the FIB of n1 show its routingcost to n3 remains to be 2, and it influences the judgement of the function I write according to the routingcost. So I want to know how can the routingcost update when the link fail. Tong Bo National Laboratory of Next Generation Internet Interconnection Devices, BJTU, Beijing, China -------------- next part -------------- An HTML attachment was scrubbed... URL: From chavoosh.ghasemi.off at gmail.com Wed May 14 02:13:15 2014 From: chavoosh.ghasemi.off at gmail.com (chavoosh ghasemi) Date: Wed, 14 May 2014 13:43:15 +0430 Subject: [ndnSIM] Modifying source files In-Reply-To: <3C48EE04-1DAD-4CB1-9B67-F12652D51542@ucla.edu> References: <3C48EE04-1DAD-4CB1-9B67-F12652D51542@ucla.edu> Message-ID: Well, e.g. when I modify '/src/ndnSIM/helper/ndn-global-routing-helper.cc', I will face rebuilding a big group of source files, before running my simulation. This problem occurs while I followed your instructions in the scenario template, exactly. Look, when I run my scenario under directory 'ns-dev/ns-3' I will face this issue (rebuilding source files), but when I switch to directory 'ns-dev/my-scenarios', and run ./waf --run <*scenario-name*>, it does not consider my new changes in source files (actually, it use last built files and does not re-build specified source file after editing). ---- *chavoosh* On Tue, May 13, 2014 at 10:29 PM, Alex Afanasyev < alexander.afanasyev at ucla.edu> wrote: > Hi Chavoosh, > > Unfortunately, unless you separate your code from NS-3, as is suggested in > https://github.com/cawka/ndnSIM-scenario-template you will end up > recompiling a big chunk of NS-3 every time you make a minor change in your > scenario. > > However, if you are modifying NS-3 itself (e.g., something inside > src/internet or src/network), then this would unconditionally require > recompilation of NS-3, even if you have separated your scenario into > different repository. > > Btw. You mentioned that "it didn't work", but what exactly is the problem? > I can try my best to update the instructions in the scenario template, if > they are confusing. > > --- > Alex > > On May 10, 2014, at 7:20 AM, chavoosh ghasemi < > chavoosh.ghasemi.off at gmail.com> wrote: > > Hi dear Alex > > I have a little problem with editing source files (both .h and .cc files), > so that after each modifying, I will face re-building source files for > running my scenario, which is so irritating! Please guide me to do this in > a better manner, and requires no re-building or same issues! > > Also I read this: > http://ndnsim.net/getting-started.html#simulating-using-ndnsim > but it did not work and I forced to write simulation directly inside > `/scratch'. > > Best regards > *chavoosh* > > > -- > > *---------------------------- 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 alexander.afanasyev at ucla.edu Wed May 14 02:18:47 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Wed, 14 May 2014 02:18:47 -0700 Subject: [ndnSIM] Modifying source files In-Reply-To: References: <3C48EE04-1DAD-4CB1-9B67-F12652D51542@ucla.edu> Message-ID: <543FC62A-1DC2-4C1D-80F4-42A86FF36479@ucla.edu> Yes. If you modify NS-3 source, then you'll have to recompile all dependent things. You may save some time by disabling modules that you don't care. The following may partially help: - disable python. Building python bindings is slow and always requires a lot of rebuilding - enable only NS-3 modules that you're using. You can do it from the command line, but it is easier if you create .ns3rc in ns-3 folder: Here is content of my .ns3rc: --- cut --- #! /usr/bin/env python # A list of the modules that will be enabled when ns-3 is run. # Modules that depend on the listed modules will be enabled also. # # All modules can be enabled by choosing 'all_modules'. modules_enabled = ['ndnSIM', 'point-to-point', 'point-to-point-layout'] # Set this equal to true if you want examples to be run. examples_enabled = False # Set this equal to true if you want tests to be run. tests_enabled = False --- end cut --- (it is based on `utils/.ns3rc`) --- Alex On May 14, 2014, at 2:13 AM, chavoosh ghasemi wrote: > Well, e.g. when I modify '/src/ndnSIM/helper/ndn-global-routing-helper.cc', I will face rebuilding a big group of source files, before running my simulation. This problem occurs while I followed your instructions in the scenario template, exactly. > > Look, when I run my scenario under directory 'ns-dev/ns-3' I will face this issue (rebuilding source files), but when I switch to directory 'ns-dev/my-scenarios', and run ./waf --run , it does not consider my new changes in source files (actually, it use last built files and does not re-build specified source file after editing). > > ---- > chavoosh > > > On Tue, May 13, 2014 at 10:29 PM, Alex Afanasyev wrote: > Hi Chavoosh, > > Unfortunately, unless you separate your code from NS-3, as is suggested in https://github.com/cawka/ndnSIM-scenario-template you will end up recompiling a big chunk of NS-3 every time you make a minor change in your scenario. > > However, if you are modifying NS-3 itself (e.g., something inside src/internet or src/network), then this would unconditionally require recompilation of NS-3, even if you have separated your scenario into different repository. > > Btw. You mentioned that "it didn't work", but what exactly is the problem? I can try my best to update the instructions in the scenario template, if they are confusing. > > --- > Alex > > On May 10, 2014, at 7:20 AM, chavoosh ghasemi wrote: > >> Hi dear Alex >> >> I have a little problem with editing source files (both .h and .cc files), so that after each modifying, I will face re-building source files for running my scenario, which is so irritating! Please guide me to do this in a better manner, and requires no re-building or same issues! >> >> Also I read this: >> http://ndnsim.net/getting-started.html#simulating-using-ndnsim >> but it did not work and I forced to write simulation directly inside `/scratch'. >> >> Best regards >> chavoosh >> >> >> -- >> ---------------------------- >> 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" > _______________________________________________ > 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 Wed May 14 02:46:15 2014 From: chavoosh.ghasemi.off at gmail.com (chavoosh ghasemi) Date: Wed, 14 May 2014 14:16:15 +0430 Subject: [ndnSIM] Modifying source files In-Reply-To: <543FC62A-1DC2-4C1D-80F4-42A86FF36479@ucla.edu> References: <3C48EE04-1DAD-4CB1-9B67-F12652D51542@ucla.edu> <543FC62A-1DC2-4C1D-80F4-42A86FF36479@ucla.edu> Message-ID: Thanks Alex, disabling python, fairly mitigated the problem. *---chavoosh* On Wed, May 14, 2014 at 1:48 PM, Alex Afanasyev < alexander.afanasyev at ucla.edu> wrote: > Yes. If you modify NS-3 source, then you'll have to recompile all > dependent things. > > You may save some time by disabling modules that you don't care. The > following may partially help: > > - disable python. Building python bindings is slow and always requires a > lot of rebuilding > - enable only NS-3 modules that you're using. You can do it from the > command line, but it is easier if you create .ns3rc in ns-3 folder: > > Here is content of my .ns3rc: > > --- cut --- > #! /usr/bin/env python > > # A list of the modules that will be enabled when ns-3 is run. > # Modules that depend on the listed modules will be enabled also. > # > # All modules can be enabled by choosing 'all_modules'. > modules_enabled = ['ndnSIM', 'point-to-point', 'point-to-point-layout'] > > # Set this equal to true if you want examples to be run. > examples_enabled = False > > # Set this equal to true if you want tests to be run. > tests_enabled = False > --- end cut --- > > (it is based on `utils/.ns3rc`) > > --- > Alex > > On May 14, 2014, at 2:13 AM, chavoosh ghasemi < > chavoosh.ghasemi.off at gmail.com> wrote: > > Well, e.g. when I modify '/src/ndnSIM/helper/ndn-global-routing-helper.cc', > I will face rebuilding a big group of source files, before running my > simulation. This problem occurs while I followed your instructions in the > scenario template, exactly. > > Look, when I run my scenario under directory 'ns-dev/ns-3' I will face > this issue (rebuilding source files), but when I switch to directory > 'ns-dev/my-scenarios', and run ./waf --run <*scenario-name*>, it does not > consider my new changes in source files (actually, it use last built files > and does not re-build specified source file after editing). > > ---- > *chavoosh* > > > On Tue, May 13, 2014 at 10:29 PM, Alex Afanasyev < > alexander.afanasyev at ucla.edu> wrote: > >> Hi Chavoosh, >> >> Unfortunately, unless you separate your code from NS-3, as is suggested >> in https://github.com/cawka/ndnSIM-scenario-template you will end up >> recompiling a big chunk of NS-3 every time you make a minor change in your >> scenario. >> >> However, if you are modifying NS-3 itself (e.g., something inside >> src/internet or src/network), then this would unconditionally require >> recompilation of NS-3, even if you have separated your scenario into >> different repository. >> >> Btw. You mentioned that "it didn't work", but what exactly is the >> problem? I can try my best to update the instructions in the scenario >> template, if they are confusing. >> >> --- >> Alex >> >> On May 10, 2014, at 7:20 AM, chavoosh ghasemi < >> chavoosh.ghasemi.off at gmail.com> wrote: >> >> Hi dear Alex >> >> I have a little problem with editing source files (both .h and .cc >> files), so that after each modifying, I will face re-building source files >> for running my scenario, which is so irritating! Please guide me to do this >> in a better manner, and requires no re-building or same issues! >> >> Also I read this: >> http://ndnsim.net/getting-started.html#simulating-using-ndnsim >> but it did not work and I forced to write simulation directly inside >> `/scratch'. >> >> Best regards >> *chavoosh* >> >> >> -- >> >> *---------------------------- 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"* > _______________________________________________ > 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 ali_limem2006 at hotmail.com Wed May 14 07:56:19 2014 From: ali_limem2006 at hotmail.com (AL IMEM ALI) Date: Wed, 14 May 2014 10:56:19 -0400 Subject: [ndnSIM] ndnSIM Digest Message-ID: Hello Alex again, I have this question in my mind and i want an answer for it , is it allowed for a router to order packet by their authors ? From chavoosh.ghasemi.off at gmail.com Wed May 14 08:33:54 2014 From: chavoosh.ghasemi.off at gmail.com (chavoosh ghasemi) Date: Wed, 14 May 2014 20:03:54 +0430 Subject: [ndnSIM] Change payload of content packet In-Reply-To: <3ECC3B9D-655F-49B2-A124-7F6927977260@ucla.edu> References: <3ECC3B9D-655F-49B2-A124-7F6927977260@ucla.edu> Message-ID: Well Alex, assume you want to add this sentence "This is a test content" to content of a packet, what hops you need to fulfill it? If you can simply mention these hops. Actually, according to current structure, the only evil way that I found is creating a buffer and feeding it to the packet as a argument, which is not enough pleasant. Please suggest a better alternative... ---- *chavoosh* On Tue, May 13, 2014 at 10:19 PM, Alex Afanasyev < alexander.afanasyev at ucla.edu> wrote: > Hi Chavoosh, > > You just need to modify the Producer implementation (or write your own > producer class). For the payload, you could use any of the methods to > create payload "Packet" ( > http://www.nsnam.org/doxygen/classns3_1_1_packet.html), to which you will > be adding NDN header/footer. > > --- > Alex > > On May 13, 2014, at 9:38 AM, chavoosh ghasemi < > chavoosh.ghasemi.off at gmail.com> wrote: > > Hi > > I want change payload of content packet and fill it by custom payload in > response of different interest packets. How it can be done? > > > Best regards > > -- > > *---------------------------- Chavoosh Ghasemi* > > Information Technology M.S - Computer Networks > Sharif University-Computer Engineer Department > > * "The quieter you become, the more you can hear"* > > > -- *---------------------------- 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 aaronishere at qq.com Sat May 17 05:00:03 2014 From: aaronishere at qq.com (aaronishere at qq.com) Date: Sat, 17 May 2014 20:00:03 +0800 Subject: [ndnSIM] Question for the course of packet trnamitting Message-ID: <2014051720000273594113@qq.com> Hi, Alex I'm confused about how the packet is transmitted in ndnSIM. Take the forwarder as example. When sending the interest, the forwader calls the function [outFace->SendInterest (interest);] in forwardingstrategy.cc, which then calls the funtion [Send (Wire::FromInterest (interest));] in face.cc. However, [Send (Wire::FromInterest (interest));] seems only to re-construct the packet. I wonder how the packet is sent from the fowarder to another. I feel that there shoud be some functions which call m_fowardingStrategy->Oninterest so that the packet call be sent to the next forwarder, but I did not find it. The same question also is for the counsumer and producers. Take the forwarder as example. When sending the interest, the consumer calls the [m_face->ReceiveInterest (interest);] and then, how the interest is sent to the forwarder? Thanks in advance! Aaron -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Sat May 17 20:00:37 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Sat, 17 May 2014 20:00:37 -0700 Subject: [ndnSIM] Question for the course of packet trnamitting In-Reply-To: <2014051720000273594113@qq.com> References: <2014051720000273594113@qq.com> Message-ID: <1391EAC3-8029-4590-84CA-C09A331757F0@ucla.edu> Hi Aaron, Wire::FromInterest/toInterest do not directly related to the transmission path (these are just to construct actual wire format). The processing is something like this: [Consumer/Face] ReceiveInterest(interest) -> [Face] (registeredCallback)(Interest) * registered callback is set from Forwarder via RegisterProtocolHandlers method [ForwardingStrategy] onInterest, ..., PropagateInterest -> [specific strategy, such as BestRoute] DoPropagateInterest -> [ForwardingStrategy] TrySendOutInterest -> [Face] sendInterest -> [NetDeviceFace] (virtual call) Send -> ... "actual" transmission through NS'3 NetDevice (NetDevice -> Channel -> NetDevice) ... [NetDeviceFace] ReceiveFromNetDevice (registered callback to NetDevice) -> [Face] Receive -> [Face] ReceiveInterest -> [Face] (registeredCallback)(Interest) * registered callback is set from Forwarder via RegisterProtocolHandlers method [ForwardingStrategy] onInterest, ..., PropagateInterest -> ... --- Alex On May 17, 2014, at 5:00 AM, aaronishere at qq.com wrote: > Hi, Alex > > I'm confused about how the packet is transmitted in ndnSIM. Take the forwarder as example. When sending the interest, the forwader calls the function [outFace->SendInterest (interest);] in forwardingstrategy.cc, which then calls the funtion [Send (Wire::FromInterest (interest));] in face.cc. However, [Send (Wire::FromInterest (interest));] seems only to re-construct the packet. I wonder how the packet is sent from the fowarder to another. I feel that there shoud be some functions which call m_fowardingStrategy->Oninterest so that the packet call be sent to the next forwarder, but I did not find it. > The same question also is for the counsumer and producers. Take the forwarder as example. When sending the interest, the consumer calls the [m_face->ReceiveInterest (interest);] and then, how the interest is sent to the forwarder? > > Thanks in advance! > > Aaron -------------- next part -------------- An HTML attachment was scrubbed... URL: From aaronishere at qq.com Sat May 17 22:39:22 2014 From: aaronishere at qq.com (aaronishere at qq.com) Date: Sun, 18 May 2014 13:39:22 +0800 Subject: [ndnSIM] Question for the course of packet trnamitting References: <2014051720000273594113@qq.com>, <1391EAC3-8029-4590-84CA-C09A331757F0@ucla.edu> Message-ID: <2014051813392117619632@qq.com> The processing is something like this: [Consumer/Face] ReceiveInterest(interest) -> [Face] (registeredCallback)(Interest) * registered callback is set from Forwarder via RegisterProtocolHandlers method I'm not clear about how the RegisterProtocolHandlers method work. After [Face]m_upstreamInterestHandler (this, interest);, is there some function calling m_face-> RegisterProtocolHandlers? [ForwardingStrategy] onInterest, ..., PropagateInterest -> [specific strategy, such as BestRoute] DoPropagateInterest -> [ForwardingStrategy] TrySendOutInterest -> [Face] sendInterest -> I see. [NetDeviceFace] (virtual call) Send -> 2. How does virtual call work? bool ok = m_netDevice->Send (packet, m_netDevice->GetBroadcast (), L3Protocol::ETHERNET_FRAME_TYPE); The Send (packet, m_netDevice->GetBroadcast (), L3Protocol::ETHERNET_FRAME_TYPE) funciton should be a NS3 function right? ... "actual" transmission through NS'3 NetDevice (NetDevice -> Channel -> NetDevice) ... [NetDeviceFace] ReceiveFromNetDevice (registered callback to NetDevice) -> Receive (p); The Receive funciton is also from NS3? [Face] Receive -> [Face] ReceiveInterest -> [Face] (registeredCallback)(Interest) * registered callback is set from Forwarder via RegisterProtocolHandlers method [ForwardingStrategy] onInterest, ..., PropagateInterest -> Thanks you very much! Aaron -------------- next part -------------- An HTML attachment was scrubbed... URL: From saeid.montazeri at gmail.com Sun May 18 09:51:38 2014 From: saeid.montazeri at gmail.com (Saeid Montazeri) Date: Mon, 19 May 2014 00:51:38 +0800 Subject: [ndnSIM] Issue with RttEstimator. Message-ID: Hi all, I found an strange behaviour with ndnSIM related to RttEstimator. I made a very simple scenario to debug. There are five nodes in a linear topology. Suppose one consumer node is connected to router_0 and one producer node is connected to router_4. There are two cases: 1) the consumer node installs CcnxConsumerCbr to request the content on the producer with rate of *1 *CcnxConsumerCbr per second and the simulation time is *10* second. 2) tthe consumer node installs CcnxConsumerCbr to request the content on the producer with rate of *0.1 *CcnxConsumerCbr per second and the simulation time is *100* second. The execution times are very different. That is, case 2 has longer execution time. After digging dipper, I found that the number of call for RttEstimator:RetransmitTimeout makes the difference. RetransmitTimeout is called by CcnxConsumer::CheckRetxTimeout which periodically calls itself with the period of m_retxTimer with the default value of 50ms. This makes a real issue for the scenarios with large number of CcnxConsumerin terms of execution time. That is, this leads to a lot of unnecessary events. In addition, I found that for my evaluation which is network of caches performance (network with rare congestion), it is not necessary to have m_retxTimer very small. I changed it to 500ms and the execution time drastically is decreased. Please let me know your comments, specially about the right value of m_ retxTimer for different scenarios. I think the smaller the m_retxTimerleads to faster detection of the network RTT fluctuation by consumers. In addition, do you think that I need to change the default value of m_ minRto and m_maxRto? Best Regards, Saeid -------------- next part -------------- An HTML attachment was scrubbed... URL: From saeid.montazeri at gmail.com Sun May 18 10:17:43 2014 From: saeid.montazeri at gmail.com (Saeid Montazeri) Date: Mon, 19 May 2014 01:17:43 +0800 Subject: [ndnSIM] Issue with RttEstimator. In-Reply-To: References: Message-ID: Hi all, Sorry, m_retxTimer is the period that a CcnxConsumer checks to see whether there is any sent interest which gets expired or not. I think m_retxEvent should be canceled in the CcnxConsumer::StopApplication (). Am I right? Best Regards, Saeid On Mon, May 19, 2014 at 12:51 AM, Saeid Montazeri wrote: > Hi all, > > I found an strange behaviour with ndnSIM related to RttEstimator. I made a > very simple scenario to debug. There are five nodes in a linear topology. > Suppose one consumer node is connected to router_0 and one producer node is > connected to router_4. There are two cases: > 1) the consumer node installs CcnxConsumerCbr to request the content on the > producer with rate of 1 CcnxConsumerCbr per second and the simulation time > is 10 second. > > 2) tthe consumer node installs CcnxConsumerCbr to request the content on the > producer with rate of 0.1 CcnxConsumerCbr per second and the simulation time > is 100 second. > > The execution times are very different. That is, case 2 has longer execution > time. After digging dipper, I found that the number of call for > RttEstimator:RetransmitTimeout makes the difference. > > RetransmitTimeout is called by CcnxConsumer::CheckRetxTimeout which > periodically calls itself with the period of m_retxTimer with the default > value of 50ms. > > This makes a real issue for the scenarios with large number of CcnxConsumer > in terms of execution time. That is, this leads to a lot of unnecessary > events. In addition, I found that for my evaluation which is network of > caches performance (network with rare congestion), it is not necessary to > have m_retxTimer very small. I changed it to 500ms and the execution time > drastically is decreased. > > Please let me know your comments, specially about the right value of > m_retxTimer for different scenarios. I think the smaller the m_retxTimer > leads to faster detection of the network RTT fluctuation by consumers. > > In addition, do you think that I need to change the default value of > m_minRto and m_maxRto? > > Best Regards, > Saeid > > From joshjdevl at gmail.com Wed May 21 06:38:36 2014 From: joshjdevl at gmail.com (Josh J) Date: Wed, 21 May 2014 06:38:36 -0700 Subject: [ndnSIM] N consumers M distinct producers Message-ID: Hi, I'm trying to setup a scenario where there are M distinct producers 1...M. Each producer is responsible for a certain prefix /producer1 ... /producerM. There are also N consumers which generate requests for interests ranging from /producer1 to /producerM followiing a zipf distribution. I modified the zipfmandelbrotconsumer by changing the following line Ptr nameWithSequence = Create (m_producerPrefix+boost::lexical_cast(seq)); //nameWithSequence->appendSeqNum (seq); https://github.com/joshjdevl/icn-cache-privacy/blob/master/extensions/ndn-consumer-zipf-prefix-mandelbrot.cc I then installed a consumerapp and producerapp on each node accordingly. https://github.com/joshjdevl/icn-cache-privacy/blob/master/ndn-topology.cc The simulation runs for a very brief amount of time before receiving an error. 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [LOGIC] p_random=0.142848 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [DEBUG] RandomNumber=1 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] seq=1 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] > Interest for 1, Total: 6, face: 1 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [DEBUG] Trying to add 1 with +573764778.0ns. already 4 items 0.573765s 1 ndn.fw:OnInterest(0x1740d10, /producer1) 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket() 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [LOGIC] p_random=0.926702 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [DEBUG] RandomNumber=8 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] seq=8 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] > Interest for 8, Total: 7, face: 1 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [DEBUG] Trying to add 8 with +576379247.0ns. already 5 items 0.576379s 3 ndn.fw:OnInterest(0x1740dd0, /producer8) 0.576426s 0 ndn.fw:OnData(0x1722870, /producer2) 0.576426s 0 ndn.Consumer:OnData(0x173c580, 0x174bb40) terminate called after throwing an instance of 'boost::exception_detail::clone_impl' what(): std::exception Is there any naming convention assumed in the routing such as /producer/1 /producer/2 instead of being able to route to /producer1 /producer2 ? The gdb backtrace is posted here https://gist.github.com/joshjdevl/80bcc0af2fab262120d0 Thanks, Josh -------------- next part -------------- An HTML attachment was scrubbed... URL: From joshjdevl at gmail.com Wed May 21 13:27:24 2014 From: joshjdevl at gmail.com (Josh J) Date: Wed, 21 May 2014 13:27:24 -0700 Subject: [ndnSIM] N consumers M distinct producers In-Reply-To: References: Message-ID: Tracing thru gdb I find the following error being throw. Though no idea what it means? What required marker is necessary? { BOOST_THROW_EXCEPTION (error::name::Component () << error::msg ("Name component does not have required marker [" + toUri () + "]")); } On Wed, May 21, 2014 at 6:38 AM, Josh J wrote: > Hi, > > I'm trying to setup a scenario where there are M distinct producers 1...M. > Each producer is responsible for a certain prefix /producer1 ... /producerM. > > There are also N consumers which generate requests for interests ranging > from /producer1 to /producerM followiing a zipf distribution. > > I modified the zipfmandelbrotconsumer by changing the following line > > Ptr nameWithSequence = Create (m_producerPrefix+boost::lexical_cast(seq)); > //nameWithSequence->appendSeqNum (seq); > > https://github.com/joshjdevl/icn-cache-privacy/blob/master/extensions/ndn-consumer-zipf-prefix-mandelbrot.cc > > I then installed a consumerapp and producerapp on each node accordingly. > > https://github.com/joshjdevl/icn-cache-privacy/blob/master/ndn-topology.cc > > The simulation runs for a very brief amount of time before receiving an error. > 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [LOGIC] p_random=0.142848 > 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [DEBUG] RandomNumber=1 > 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] seq=1 > 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] > Interest for 1, Total: 6, face: 1 > 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [DEBUG] Trying to add 1 with +573764778.0ns. already 4 items > 0.573765s 1 ndn.fw:OnInterest(0x1740d10, /producer1) > 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket() > 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [LOGIC] p_random=0.926702 > 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [DEBUG] RandomNumber=8 > 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] seq=8 > 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] > Interest for 8, Total: 7, face: 1 > 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [DEBUG] Trying to add 8 with +576379247.0ns. already 5 items > 0.576379s 3 ndn.fw:OnInterest(0x1740dd0, /producer8) > 0.576426s 0 ndn.fw:OnData(0x1722870, /producer2) > 0.576426s 0 ndn.Consumer:OnData(0x173c580, 0x174bb40) > terminate called after throwing an instance of 'boost::exception_detail::clone_impl' > what(): std::exception > > > Is there any naming convention assumed in the routing such as /producer/1 /producer/2 instead of being able to route to /producer1 /producer2 ? > > The gdb backtrace is posted here > https://gist.github.com/joshjdevl/80bcc0af2fab262120d0 > > Thanks, > Josh > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From iliamo at ucla.edu Wed May 21 13:35:53 2014 From: iliamo at ucla.edu (Ilya Moiseenko) Date: Wed, 21 May 2014 16:35:53 -0400 Subject: [ndnSIM] N consumers M distinct producers In-Reply-To: References: Message-ID: I believe that sequence numbers are marked with reserved symbols. Why did you comment appendSeqNum() ? It seems to be correct way of doing it. Ilya On May 21, 2014, at 4:27 PM, Josh J wrote: > Tracing thru gdb I find the following error being throw. Though no idea what it means? What required marker is necessary? > > { > BOOST_THROW_EXCEPTION (error::name::Component () > << error::msg ("Name component does not have required marker [" + toUri () + "]")); > } > > > > On Wed, May 21, 2014 at 6:38 AM, Josh J wrote: > Hi, > > I'm trying to setup a scenario where there are M distinct producers 1...M. Each producer is responsible for a certain prefix /producer1 ... /producerM. > > There are also N consumers which generate requests for interests ranging from /producer1 to /producerM followiing a zipf distribution. > > I modified the zipfmandelbrotconsumer by changing the following line > Ptr nameWithSequence = Create (m_producerPrefix+boost::lexical_cast(seq)); > > > //nameWithSequence->appendSeqNum (seq); > > https://github.com/joshjdevl/icn-cache-privacy/blob/master/extensions/ndn-consumer-zipf-prefix-mandelbrot.cc > > > > I then installed a consumerapp and producerapp on each node accordingly. > > https://github.com/joshjdevl/icn-cache-privacy/blob/master/ndn-topology.cc > > > > The simulation runs for a very brief amount of time before receiving an error. > 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [LOGIC] p_random=0.142848 > 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [DEBUG] RandomNumber=1 > 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] seq=1 > 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] > Interest for 1, Total: 6, face: 1 > 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [DEBUG] Trying to add 1 with +573764778.0ns. already 4 items > 0.573765s 1 ndn.fw:OnInterest(0x1740d10, /producer1) > 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket() > 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [LOGIC] p_random=0.926702 > 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [DEBUG] RandomNumber=8 > 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] seq=8 > 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] > Interest for 8, Total: 7, face: 1 > 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [DEBUG] Trying to add 8 with +576379247.0ns. already 5 items > 0.576379s 3 ndn.fw:OnInterest(0x1740dd0, /producer8) > 0.576426s 0 ndn.fw:OnData(0x1722870, /producer2) > 0.576426s 0 ndn.Consumer:OnData(0x173c580, 0x174bb40) > terminate called after throwing an instance of 'boost::exception_detail::clone_impl' > what(): std::exception > > > Is there any naming convention assumed in the routing such as /producer/1 /producer/2 instead of being able to route to /producer1 /producer2 ? > > The gdb backtrace is posted here > > > https://gist.github.com/joshjdevl/80bcc0af2fab262120d0 > > Thanks, > 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 joshjdevl at gmail.com Wed May 21 20:05:44 2014 From: joshjdevl at gmail.com (Josh J) Date: Wed, 21 May 2014 20:05:44 -0700 Subject: [ndnSIM] N consumers M distinct producers In-Reply-To: References: Message-ID: > Why did you comment appendSeqNum() ? It seems to be correct way of doing it. Is there a way for a single consumer to generate requests in a zipf distribution for multiple M producers, where each producer is responsible for a particular prefix? I would like to have M producer nodes (1...M), where (except for intermediate caches) producer1 is the only producer which can satisfy a particular interest /producer1 or /producer/1, producer2 satisfies /producer2 or producer/2, etc. On Wed, May 21, 2014 at 1:35 PM, Ilya Moiseenko wrote: > I believe that sequence numbers are marked with reserved symbols. > Why did you comment appendSeqNum() ? It seems to be correct way of doing > it. > > Ilya > > On May 21, 2014, at 4:27 PM, Josh J wrote: > > Tracing thru gdb I find the following error being throw. Though no idea > what it means? What required marker is necessary? > > { > BOOST_THROW_EXCEPTION (error::name::Component () > << error::msg ("Name component does not have > required marker [" + toUri () + "]")); > } > > > > On Wed, May 21, 2014 at 6:38 AM, Josh J wrote: > >> Hi, >> >> I'm trying to setup a scenario where there are M distinct producers >> 1...M. Each producer is responsible for a certain prefix /producer1 ... >> /producerM. >> >> There are also N consumers which generate requests for interests ranging >> from /producer1 to /producerM followiing a zipf distribution. >> >> I modified the zipfmandelbrotconsumer by changing the following line >> >> Ptr nameWithSequence = Create (m_producerPrefix+boost::lexical_cast(seq)); >> >> //nameWithSequence->appendSeqNum (seq); >> >> https://github.com/joshjdevl/icn-cache-privacy/blob/master/extensions/ndn-consumer-zipf-prefix-mandelbrot.cc >> >> >> I then installed a consumerapp and producerapp on each node accordingly. >> >> https://github.com/joshjdevl/icn-cache-privacy/blob/master/ndn-topology.cc >> >> >> The simulation runs for a very brief amount of time before receiving an error. >> 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [LOGIC] p_random=0.142848 >> 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [DEBUG] RandomNumber=1 >> 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] seq=1 >> 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] > Interest for 1, Total: 6, face: 1 >> 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [DEBUG] Trying to add 1 with +573764778.0ns. already 4 items >> 0.573765s 1 ndn.fw:OnInterest(0x1740d10, /producer1) >> 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket() >> 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [LOGIC] p_random=0.926702 >> 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [DEBUG] RandomNumber=8 >> 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] seq=8 >> 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] > Interest for 8, Total: 7, face: 1 >> 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [DEBUG] Trying to add 8 with +576379247.0ns. already 5 items >> 0.576379s 3 ndn.fw:OnInterest(0x1740dd0, /producer8) >> 0.576426s 0 ndn.fw:OnData(0x1722870, /producer2) >> 0.576426s 0 ndn.Consumer:OnData(0x173c580, 0x174bb40) >> terminate called after throwing an instance of 'boost::exception_detail::clone_impl' >> what(): std::exception >> >> >> Is there any naming convention assumed in the routing such as /producer/1 /producer/2 instead of being able to route to /producer1 /producer2 ? >> >> The gdb backtrace is posted here >> >> https://gist.github.com/joshjdevl/80bcc0af2fab262120d0 >> >> Thanks, >> 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 joshjdevl at gmail.com Wed May 21 21:16:52 2014 From: joshjdevl at gmail.com (Josh J) Date: Wed, 21 May 2014 21:16:52 -0700 Subject: [ndnSIM] N consumers M distinct producers In-Reply-To: References: Message-ID: I also tried with the unmodified ns3::ndn::ConsumerZipfMandelbrot where each producer is responsible for a particular segment. Though none of the interests are satisfied (there are no data responses). https://gist.github.com/joshjdevl/9d303d8996ad8ad02098 Thanks, Josh On Wed, May 21, 2014 at 8:05 PM, Josh J wrote: > > Why did you comment appendSeqNum() ? It seems to be correct way of doing > it. > > Is there a way for a single consumer to generate requests in a zipf > distribution for multiple M producers, where each producer is responsible > for a particular prefix? I would like to have M producer nodes (1...M), > where (except for intermediate caches) producer1 is the only producer which > can satisfy a particular interest /producer1 or /producer/1, producer2 > satisfies /producer2 or producer/2, etc. > > > > On Wed, May 21, 2014 at 1:35 PM, Ilya Moiseenko wrote: > >> I believe that sequence numbers are marked with reserved symbols. >> Why did you comment appendSeqNum() ? It seems to be correct way of doing >> it. >> >> Ilya >> >> On May 21, 2014, at 4:27 PM, Josh J wrote: >> >> Tracing thru gdb I find the following error being throw. Though no idea >> what it means? What required marker is necessary? >> >> { >> BOOST_THROW_EXCEPTION (error::name::Component () >> << error::msg ("Name component does not have >> required marker [" + toUri () + "]")); >> } >> >> >> >> On Wed, May 21, 2014 at 6:38 AM, Josh J wrote: >> >>> Hi, >>> >>> I'm trying to setup a scenario where there are M distinct producers >>> 1...M. Each producer is responsible for a certain prefix /producer1 ... >>> /producerM. >>> >>> There are also N consumers which generate requests for interests ranging >>> from /producer1 to /producerM followiing a zipf distribution. >>> >>> I modified the zipfmandelbrotconsumer by changing the following line >>> >>> Ptr nameWithSequence = Create (m_producerPrefix+boost::lexical_cast(seq)); >>> >>> >>> //nameWithSequence->appendSeqNum (seq); >>> >>> https://github.com/joshjdevl/icn-cache-privacy/blob/master/extensions/ndn-consumer-zipf-prefix-mandelbrot.cc >>> >>> >>> >>> I then installed a consumerapp and producerapp on each node accordingly. >>> >>> https://github.com/joshjdevl/icn-cache-privacy/blob/master/ndn-topology.cc >>> >>> >>> >>> The simulation runs for a very brief amount of time before receiving an error. >>> 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [LOGIC] p_random=0.142848 >>> 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [DEBUG] RandomNumber=1 >>> 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] seq=1 >>> 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] > Interest for 1, Total: 6, face: 1 >>> 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [DEBUG] Trying to add 1 with +573764778.0ns. already 4 items >>> 0.573765s 1 ndn.fw:OnInterest(0x1740d10, /producer1) >>> 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket() >>> 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [LOGIC] p_random=0.926702 >>> 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [DEBUG] RandomNumber=8 >>> 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] seq=8 >>> 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] > Interest for 8, Total: 7, face: 1 >>> 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [DEBUG] Trying to add 8 with +576379247.0ns. already 5 items >>> 0.576379s 3 ndn.fw:OnInterest(0x1740dd0, /producer8) >>> 0.576426s 0 ndn.fw:OnData(0x1722870, /producer2) >>> 0.576426s 0 ndn.Consumer:OnData(0x173c580, 0x174bb40) >>> terminate called after throwing an instance of 'boost::exception_detail::clone_impl' >>> what(): std::exception >>> >>> >>> Is there any naming convention assumed in the routing such as /producer/1 /producer/2 instead of being able to route to /producer1 /producer2 ? >>> >>> The gdb backtrace is posted here >>> >>> >>> https://gist.github.com/joshjdevl/80bcc0af2fab262120d0 >>> >>> Thanks, >>> 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 rong.you.sjtu at foxmail.com Sun May 25 01:48:54 2014 From: rong.you.sjtu at foxmail.com (=?ISO-8859-1?B?eW91cm9uZw==?=) Date: Sun, 25 May 2014 16:48:54 +0800 Subject: [ndnSIM] Get node info in forwarding strategy Message-ID: Hi Alex, I want to customize a ndn-forwarding strategy. But I have some problems: How can I get the node info such as node id or else when implementing the forwarding strategy?(ie. How can i know who is running the forwarding strategy now, and then get the PIT and FIB on the such nodes?) Best regard! ------------------ Rong You Shanghai Jiao Tong University -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.afanasyev at ucla.edu Mon May 26 06:01:22 2014 From: alexander.afanasyev at ucla.edu (Alex Afanasyev) Date: Mon, 26 May 2014 16:01:22 +0300 Subject: [ndnSIM] Get node info in forwarding strategy In-Reply-To: References: Message-ID: <61237C5F-B9E6-45D9-BDF6-3A273B3719DB@ucla.edu> Hi Rong, From inside the strategy, there is very simple method to obtain this information: uint32_t nodeId = this->GetObject()->GetId(); Ptr pit = this->GetObject(); Ptr fib = this->GetObject(); --- Alex On May 25, 2014, at 11:48 AM, yourong wrote: > Hi Alex, > I want to customize a ndn-forwarding strategy. But I have some problems: > How can I get the node info such as node id or else when implementing the forwarding > strategy?(ie. How can i know who is running the forwarding strategy now, and then get > the PIT and FIB on the such nodes?) > Best regard! > > > ------------------ > > Rong You > > > > Shanghai Jiao Tong University > > > _______________________________________________ > 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 joshjdevl at gmail.com Mon May 26 08:18:53 2014 From: joshjdevl at gmail.com (Josh J) Date: Mon, 26 May 2014 08:18:53 -0700 Subject: [ndnSIM] N consumers M distinct producers In-Reply-To: References: Message-ID: Is there a way to have M distinct producers in ndnsim? I wonder about the forwarding strategies used. I set up 4 consumers, 1 router, and 9 producers. Each producer should only respond to a single prefix int producernodeIndex = 1; std::string producernodeNamePrefix("producer"); std::string producerNodeName = producernodeNamePrefix + boost::lexical_cast(producernodeIndex); Ptr producerNode = Names::Find(producerNodeName); while(producerNode != NULL) { NodeContainer producerNodes; producerNodes.Add (producerNode); // Producer ndn::AppHelper producerHelper ("ns3::ndn::Producer"); // Producer will reply to all requests starting with /prefix std::string pprefix = "/producer"+ boost::lexical_cast(producernodeIndex); std::cout<<"producernodeName="<(++producernodeIndex); producerNode = Names::Find(producerNodeName); } producernodeName=producer1 pprefix=/producer1 producernodeName=producer2 pprefix=/producer2 producernodeName=producer3 pprefix=/producer3 producernodeName=producer4 pprefix=/producer4 producernodeName=producer5 pprefix=/producer5 producernodeName=producer6 pprefix=/producer6 producernodeName=producer7 pprefix=/producer7 producernodeName=producer8 pprefix=/producer8 producernodeName=producer9 pprefix=/producer9 Though I can observe in the logs, that interests for '/producer9' are being routed and received by producer node 3 (which should only respond to /producer3). Why would the routing forward to a producer which *shouldn't* be responding to these interests? https://github.com/joshjdevl/icn-cache-privacy/blob/master/ndn-topology.cc Thanks, Josh On Wed, May 21, 2014 at 9:16 PM, Josh J wrote: > I also tried with the unmodified ns3::ndn::ConsumerZipfMandelbrot where > each producer is responsible for a particular segment. Though none of the > interests are satisfied (there are no data responses). > > https://gist.github.com/joshjdevl/9d303d8996ad8ad02098 > > Thanks, > Josh > > > On Wed, May 21, 2014 at 8:05 PM, Josh J wrote: > >> > Why did you comment appendSeqNum() ? It seems to be correct way of >> doing it. >> >> Is there a way for a single consumer to generate requests in a zipf >> distribution for multiple M producers, where each producer is responsible >> for a particular prefix? I would like to have M producer nodes (1...M), >> where (except for intermediate caches) producer1 is the only producer which >> can satisfy a particular interest /producer1 or /producer/1, producer2 >> satisfies /producer2 or producer/2, etc. >> >> >> >> On Wed, May 21, 2014 at 1:35 PM, Ilya Moiseenko wrote: >> >>> I believe that sequence numbers are marked with reserved symbols. >>> Why did you comment appendSeqNum() ? It seems to be correct way of doing >>> it. >>> >>> Ilya >>> >>> On May 21, 2014, at 4:27 PM, Josh J wrote: >>> >>> Tracing thru gdb I find the following error being throw. Though no idea >>> what it means? What required marker is necessary? >>> >>> { >>> BOOST_THROW_EXCEPTION (error::name::Component () >>> << error::msg ("Name component does not >>> have required marker [" + toUri () + "]")); >>> } >>> >>> >>> >>> On Wed, May 21, 2014 at 6:38 AM, Josh J wrote: >>> >>>> Hi, >>>> >>>> I'm trying to setup a scenario where there are M distinct producers >>>> 1...M. Each producer is responsible for a certain prefix /producer1 ... >>>> /producerM. >>>> >>>> There are also N consumers which generate requests for interests >>>> ranging from /producer1 to /producerM followiing a zipf distribution. >>>> >>>> I modified the zipfmandelbrotconsumer by changing the following line >>>> >>>> Ptr nameWithSequence = Create (m_producerPrefix+boost::lexical_cast(seq)); >>>> >>>> >>>> >>>> //nameWithSequence->appendSeqNum (seq); >>>> >>>> https://github.com/joshjdevl/icn-cache-privacy/blob/master/extensions/ndn-consumer-zipf-prefix-mandelbrot.cc >>>> >>>> >>>> >>>> >>>> I then installed a consumerapp and producerapp on each node accordingly. >>>> >>>> https://github.com/joshjdevl/icn-cache-privacy/blob/master/ndn-topology.cc >>>> >>>> >>>> >>>> >>>> The simulation runs for a very brief amount of time before receiving an error. >>>> 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [LOGIC] p_random=0.142848 >>>> 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [DEBUG] RandomNumber=1 >>>> 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] seq=1 >>>> 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] > Interest for 1, Total: 6, face: 1 >>>> 0.573765s 1 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [DEBUG] Trying to add 1 with +573764778.0ns. already 4 items >>>> 0.573765s 1 ndn.fw:OnInterest(0x1740d10, /producer1) >>>> 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket() >>>> 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [LOGIC] p_random=0.926702 >>>> 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:GetNextSeq(): [DEBUG] RandomNumber=8 >>>> 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] seq=8 >>>> 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [INFO ] > Interest for 8, Total: 7, face: 1 >>>> 0.576379s 3 ndn.ConsumerZipfPrefixMandelbrot:SendPacket(): [DEBUG] Trying to add 8 with +576379247.0ns. already 5 items >>>> 0.576379s 3 ndn.fw:OnInterest(0x1740dd0, /producer8) >>>> 0.576426s 0 ndn.fw:OnData(0x1722870, /producer2) >>>> 0.576426s 0 ndn.Consumer:OnData(0x173c580, 0x174bb40) >>>> terminate called after throwing an instance of 'boost::exception_detail::clone_impl' >>>> what(): std::exception >>>> >>>> >>>> Is there any naming convention assumed in the routing such as /producer/1 /producer/2 instead of being able to route to /producer1 /producer2 ? >>>> >>>> The gdb backtrace is posted here >>>> >>>> >>>> >>>> https://gist.github.com/joshjdevl/80bcc0af2fab262120d0 >>>> >>>> Thanks, >>>> 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 xhbreezehu at gmail.com Mon May 26 20:40:47 2014 From: xhbreezehu at gmail.com (Xiao yan Hu) Date: Tue, 27 May 2014 11:40:47 +0800 Subject: [ndnSIM] A query about CS replacement policy Message-ID: Hi Alex, I am gonna to implement a content store replacement policy according to my specific needs. In this policy, I need to extract some information from the cached item, i.e., the data packet. More specifically, whenever the "Lookup(typename parent_trie::iterator item)" is invoked, I need to cast "parent_trie::iterator item" into "ContentObject" type. Would you please tell me how to do that? Thanks, Xiaoyan -------------- next part -------------- An HTML attachment was scrubbed... URL: From rong.you.sjtu at foxmail.com Tue May 27 01:53:14 2014 From: rong.you.sjtu at foxmail.com (=?ISO-8859-1?B?eW91cm9uZw==?=) Date: Tue, 27 May 2014 16:53:14 +0800 Subject: [ndnSIM] Get node info in forwarding strategy In-Reply-To: <61237C5F-B9E6-45D9-BDF6-3A273B3719DB@ucla.edu> References: <61237C5F-B9E6-45D9-BDF6-3A273B3719DB@ucla.edu> Message-ID: Hi Alex, That would be very helpful, tks! Best regard! ------------------ Rong You Shanghai Jiao Tong University ------------------ Original ------------------ From: "Alex Afanasyev";; Date: Mon, May 26, 2014 09:01 PM To: "yourong"; Cc: "ndnsim"; Subject: Re: [ndnSIM] Get node info in forwarding strategy Hi Rong, From inside the strategy, there is very simple method to obtain this information: uint32_t nodeId = this->GetObject()->GetId(); Ptr pit = this->GetObject(); Ptr fib = this->GetObject(); --- Alex On May 25, 2014, at 11:48 AM, yourong wrote: Hi Alex, I want to customize a ndn-forwarding strategy. But I have some problems: How can I get the node info such as node id or else when implementing the forwarding strategy?(ie. How can i know who is running the forwarding strategy now, and then get the PIT and FIB on the such nodes?) Best regard! ------------------ Rong You Shanghai Jiao Tong University _______________________________________________ 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 xuxiaogeng at gmail.com Wed May 28 03:52:11 2014 From: xuxiaogeng at gmail.com (Xiaogeng Xu) Date: Wed, 28 May 2014 18:52:11 +0800 Subject: [ndnSIM] Question about how to set value to a customized parameter of Interest Message-ID: <004b01cf7a62$e3087640$a91962c0$@com> Dears, We started to learn ndnSIM in this April. It is a very useful tool for us to study in ndn architecture. Thanks for all your efforts to this environment! We met a problem of setting value to a customized parameter of Interest. The original value was set to be 1 as a constant at the consumer side by setting its value in ndn-consumer.cc, and the value became to 0 when the Interest was received after one-hop transmission. The detail steps of what we did was attached to this email. We wondered that the value that we set was not written to Interest? Or maybe it was re-written before transmission. Which function actually sets the value to a parameter of Interest? How to keep a parameter fixed during transmission? For any unclear description in the question form or additional information, please let me know. Thanks a lot for your help. Xiaogeng Xu 2014-5-28 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Question Form.docx Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document Size: 58779 bytes Desc: not available URL: From ioannoa at scss.tcd.ie Wed May 28 19:16:48 2014 From: ioannoa at scss.tcd.ie (ioannoa) Date: Thu, 29 May 2014 03:16:48 +0100 Subject: [ndnSIM] delay tracer Message-ID: <08e5c5ec8e0ffab57f90448e4d824f70@scss.tcd.ie> Hello everyone, I just got some results from an ongoing simulation which look quit weird, thus i though you may give me a hind. I tested two caching algorithms, one actually performs no caching at all and the other does. The weird thing is that in some cases I have the no caching one resulting in less delay than the one that performs caching. The only possibility i can think of where this is possible is if the lookup in the Content Store is added to the final delay seen by the application. Does this hold? Many thanks in advance! Kind regards, Andriana. From 423864898 at qq.com Sun May 4 04:42:47 2014 From: 423864898 at qq.com (=?gb18030?B?eW91cm9uZw==?=) Date: Sun, 04 May 2014 11:42:47 -0000 Subject: [ndnSIM] dynamic change the lifetime for each entry in PIT Message-ID: Hi, I'm new to ndnSIM, now I want to some coding to implement: 1. dynamic change the lifetime for each entry in PIT. 2. Aggregate the PIT entry according to their interest name. How can I start with that? Anybody has idea? Thanks! ------------------ Rong You (??) Shanghai Jiao Tong University Department of Computer Science and Engineering -------------- next part -------------- An HTML attachment was scrubbed... URL: