http://mailman.isi.edu/pipermail/ns-developers/2012-June.txt
From mathieu.lacage at cutebugs.net Fri Jun 1 00:05:52 2012 From: mathieu.lacage at cutebugs.net (Mathieu Lacage) Date: Fri, 01 Jun 2012 09:05:52 +0200 Subject: [Ns-developers] assert failed m_txMachineState=Ready In-Reply-To: <012701cd3f49$153aa5e0$3faff1a0$@com> References: <012701cd3f49$153aa5e0$3faff1a0$@com> Message-ID: <1338534352.2707.5.camel@mathieu-dell> On Thu, 2012-05-31 at 09:18 -0700, Selim Ciraci wrote: > Hi, > > > > I'm trying to run a multi-threaded simulation with realtime simulator. I > have a very small network setup, 4 nodes connected in a star topology with > p2p links (applications use UDP). The "center" node reads data from some > other process in a thread and sends the data to remaining 3 nodes. So I have > something like: > > In thread{ > > While(true) > > { > > Packet data=readData(); // a blocking read op > > for(int i=0;i<3;i++) > > { > > portNext=GetPort(i); > > ipNext=GetIpNext(i); > > > socket->SendTo(data,ipNext,portNext); > > } > > } > > } > > Sometimes I get the assert_failed m_txMachineState=Ready at line 217 of > p2p-netdevice.cc . As I don't know how the p2p channel works in detail I > couldn't pinpoint what would be causing this. Any pointers? Ideas? If the > channel is busy shouldn't the call to transmit block? ns-3 is not thread-safe: you cannot call ns-3 functions and methods from another thread than the one that calls simulator::Run. However, there is _one_ function that is thread-safe: Simulator::ScheduleWithContext so, you could rewrite your code to schedule an event with ScheduleWithContext from your data reading thread and then, call SendTo from that event. i.e., something like that: uint32_t nodeId = socket->GetNode()->GetId(); Time zero = Seconds (0); Socket *rawPtr = PeekPointer(socket); while (true) { char *buffer = ...; int size; size = readdata(buffer); Simulator::ScheduleWithContext(nodeId, zero, &SendData, rawPtr, buffer, size); } void SendData (Socket *rawPtr, char *buffer, int size) { Ptr<Packet> p = Create<Packet> (buffer, size); socket->SendTo (p, ...); } i.e., be _really_ careful to not call _any_ function other than ScheduleWithContext from your secondary thread. Mathieu From mathieu.lacage at cutebugs.net Fri Jun 1 00:06:45 2012 From: mathieu.lacage at cutebugs.net (Mathieu Lacage) Date: Fri, 01 Jun 2012 09:06:45 +0200 Subject: [Ns-developers] gcc-3.4 compatibility of ns-3 In-Reply-To: <4FC4DB61.1070800@tomh.org> References: <4FC4DB61.1070800@tomh.org> Message-ID: <1338534405.2707.6.camel@mathieu-dell> I feel that unless someone who really needs it contributes patches to make it work, we could ignore it. Mathieu On Tue, 2012-05-29 at 07:21 -0700, Tom Henderson wrote: > ns-3.14 will no longer build on gcc-3.4, based on recent merges. Does > this impact anyone? This could be fixed with a bit of work, but gcc-3.4 > doesn't seem to be available as packages on recent Ubuntu/Fedora > distributions, so it is becoming increasingly hard to maintain. > > - Tom From mathieu.lacage at cutebugs.net Fri Jun 1 00:43:50 2012 From: mathieu.lacage at cutebugs.net (Mathieu Lacage) Date: Fri, 01 Jun 2012 09:43:50 +0200 Subject: [Ns-developers] SCTP on NS-3 In-Reply-To: <8626C1B7EB748940BCDD7596134632BE04C37808@jal.iiitb.ac.in> References: <8626C1B7EB748940BCDD7596134632BE04C37808@jal.iiitb.ac.in> Message-ID: <1338536630.2707.14.camel@mathieu-dell> On Tue, 2012-05-22 at 11:03 +0530, Madan Pande wrote: > Hi All, > > SCTP is important to both NS-3 and LENA code, as it forms the > underlying transport for S1-AP. Sandra is working on S1-AP, and I > understand that their S1-AP may be merged with NS-3-Lena in due > course. They need a SCTP implementation on NS-3 for completing the S1 > stack. As my area of research is also around EPC, I have undertaken to > add the SCTP protocol for NS-3. > > 2. The code base I am using is ns-3.13. I will follow the guidelines > given to me by Tommaso for adding such a protocol to NS-3. > > 3. Please let me know if there are any concerns... I do not mean to be discouraging, but, really, why are you not using nsc or dce for that ? It seems to me that the cost of implementing sctp is much higher than getting either of these emulation layers to work for you and reuse the linux kernel sctp implementation. Mathieu From tazaki at sfc.wide.ad.jp Fri Jun 1 02:20:14 2012 From: tazaki at sfc.wide.ad.jp (Hajime Tazaki) Date: Fri, 01 Jun 2012 18:20:14 +0900 Subject: [Ns-developers] DCE quagga update Message-ID: <m2zk8n8k35.wl@sfc.wide.ad.jp> Hi Frederic, Mathieu, Tom, Here is the update of DCE quagga integration. # I will publish UMIP (Mobile IPv6 and its children) support soon. http://code.nsnam.org/thehajime/ns-3-dce-quagga This dce-quagga repository includes all the protocols' example and helper of quagga: now RIPv1v2/RIPng, OSPFv2/v3, BGP/BGP+, and Rtadvd are runnable on ns-3-dce with Linux native stack (ns-3-linux). With ns-3 network stack, it only supports OSPFv2 and BGP (IPv4) because of a bunch of emulations (i.e., sockopt, cmsg:pktinfo) are not implemented yet. Base version: Quagga 0.99.20 (Thanks to Alexander Afanasyev) For the starter, you can take a look the manual. http://code.nsnam.org/thehajime/ns-3-dce-quagga/raw-file/c462db9438a2/doc/build/singlehtml/index.html # I don't have any host to publish the document. Is there any place to do it in nsnam.org? I've divided this repository from furbani/ns-3-dce, expecting the module store (i.e., bake) will take care of this complexity. 1) Would it be nice to separate each application (e.g., quagga, umip) to another module? Or is it better to push into the ns-3-dce core repository? Probably I will have the other application helpers in the future. 2) I have several patches to be able to run quagga on ns-3-dce and ns-3-linux. I will let you know soon. regards, hajime From klaussfreire at gmail.com Fri Jun 1 07:33:26 2012 From: klaussfreire at gmail.com (Claudio Freire) Date: Fri, 1 Jun 2012 11:33:26 -0300 Subject: [Ns-developers] gcc-3.4 compatibility of ns-3 In-Reply-To: <1338534405.2707.6.camel@mathieu-dell> References: <4FC4DB61.1070800@tomh.org> <1338534405.2707.6.camel@mathieu-dell> Message-ID: <CAGTBQpYifZvTxyXwB69tuStciBeA7STKNHBnx87LdAYoeVV5HA@mail.gmail.com> On Fri, Jun 1, 2012 at 4:06 AM, Mathieu Lacage <mathieu.lacage at cutebugs.net> wrote: > I feel that unless someone who really needs it contributes patches to > make it work, we could ignore it. Well, the oldest gcc I could find on all the distros we're packaging, is 4.3 (not 3.4). So I'd guess it's safe to drop 3.4. From evamshi88 at gmail.com Fri Jun 1 09:58:28 2012 From: evamshi88 at gmail.com (Vamshi Krishna) Date: Fri, 1 Jun 2012 11:58:28 -0500 Subject: [Ns-developers] Implementation of Packet Marking in NS2 Message-ID: <CADqLy44O-9RGRYuYEwaShP6=N6ZCf6SprEfO24L7c_zYSZftfw@mail.gmail.com> Hello, I am a newbie to NS2 and I am trying to implement a packet marking algorithm in NS2. So inorder to implement packet marking by a node in the simulation do i have to write the code in the tcl script or change in the compilation files ?? Well Basically as i want to implement the algorithm to all the nodes based on the satisfying condition it should mark the packet by inserting the node id into the packet header, so how can i do this ?? Thanks, Vamshi Krishna From q5frc at unb.ca Sun Jun 3 13:47:00 2012 From: q5frc at unb.ca (Dizhi Zhou) Date: Sun, 3 Jun 2012 17:47:00 -0300 Subject: [Ns-developers] Weekly Progress -- GSoC LTE MAC scheduler Message-ID: <4FCBCD44.6000401@unb.ca> Dear all, Here is my weekly progress on GSoC LTE MAC scheduler project: Done: 1, Complete FD-MT documentation and code and submit it to codereview. 2, Get review from mentors on FD-MT code. Plan in next week: 1, revise FD-MT code and documentation based on comments. Submit final version of FD-MT (including code and documents) 2, Complete TD-MT code and documentation 3, Complete TD-TTA design document Regards Dizhi -- Dizhi Zhou Ph.D. Candidate Faculty of Computer Science University of New Brunswick 540 Windsor Street Fredericton,New Brunswick,Canada E3B 5A3 E. q5frc at unb.ca Homepage: www.cs.unb.ca/~q5frc/ From intutivestriker88 at gmail.com Sun Jun 3 18:17:22 2012 From: intutivestriker88 at gmail.com (V.Sindhuja) Date: Sun, 3 Jun 2012 21:17:22 -0400 Subject: [Ns-developers] GSOC Project Weekly Report - Network Address and Port Translation (NAT) models Message-ID: <CAHquBzsEDCak7auznRFv=NPwfyDYn_V3MA6DUf1Lioac2P4u1A@mail.gmail.com> Hello Everyone, Here is the report of the work done last week on the project. 2nd week of GSOC: - Reviewed the basic steps of code repository maintenance. - Analysis and validation of the Netfilter framework from 2009. - Files to be ported over : - - ipv4-netfilter.{cc,h} - netfilter-callback-chain.{cc,h} - ipv4-netfilter-hook.{cc,h} - modifications to ipv4-l3-protocol.{cc,h} - Identifying essential elements to the Netfilter implementation : - specific points on the existing IP code to be hooked. This part of the code was added by adding the respective DEBUG commands for the specific hooks at the hookpoints on the ipv4-l3-protocol. An example was also run to see if the hook point debug messages appeared accurately. - at those points having a call out to the object holding the callbacks. These callbacks would be traversed in order of priority. - Eventual action to be taken on the packet, i.e accept then pass the packet onto the existing IPV4 processing. - Work started on an example with three nodes i.e. n1--n2---n3 structure to test the Netfilter,Conntrack and Nat implementations. - Documentation and Testing file added specific to Netfilter. As next steps: Get the current three node example working. Working on the skeletal code based on existing netfilter callbacks Porting over the Callbacks. -- Thanks and Regards, Sindhuja Venkatesh Graduate Student, Department of CSE, University at Buffalo, SUNY. From tomh at tomh.org Sun Jun 3 21:42:48 2012 From: tomh at tomh.org (Tom Henderson) Date: Sun, 03 Jun 2012 21:42:48 -0700 Subject: [Ns-developers] third (possibly final) ns-3.14 release candidate posted In-Reply-To: <4FC1CEBB.4050204@tomh.org> References: <4FC1CEBB.4050204@tomh.org> Message-ID: <4FCC3CC8.5050306@tomh.org> I've posted the third release candidate for ns-3.14 at: http://www.nsnam.org/release/ns-allinone-3.14.rc3.tar.bz2 We seem to have addressed the main issues that have been holding this back, so I'm tentatively planning to release ns-3.14 on Tuesday. Please test this release candidate and let us know whether you discover any new problems. - Tom From cmdviegas at gmail.com Mon Jun 4 00:50:31 2012 From: cmdviegas at gmail.com (Carlos Viegas) Date: Mon, 4 Jun 2012 08:50:31 +0100 Subject: [Ns-developers] HWMP PREQ problem/bug? In-Reply-To: <CAEfALXApXBnB63RbuC-nb9Xy6ZXLwhdD=bEzg_54RgppAudhxQ@mail.gmail.com> References: <CAEfALXApXBnB63RbuC-nb9Xy6ZXLwhdD=bEzg_54RgppAudhxQ@mail.gmail.com> Message-ID: <CAEfALXCiC+2NXUJoNf9MUSKFJmZh7kjK+fPuGB=-Xr6KHrNp+A@mail.gmail.com> Dear all, I'm simulating a mesh network on NS-3.13. However, I notice a weird behavior regarding the PREQ frames. According to IEEE 802.11s amendment (final, 10th sept 2011): to use HWMP in PROACTIVE mode, a root must be set and send PREQ frames to the STAs (11C.9.4). To use HWMP in REACTIVE mode, a root is not mandatory, but a mesh STA should send PREQ frames in broadcast (11C.9.3). But in NS-3 I notice that the opposite occurs. Based on mesh.cc example, when I set a root (i.e. proactive mode), the PREQ frames are sent in broadcast (not directly to the STAs). If I do not set root or set it as broadcast (reactive), it sends PREQ frames to the specified destination. If I'm right, the NS-3 runs in REACTIVE mode when it is supposed to run in PROACTIVE mode. Does anybody have noticed this behavior? Or I'm leading to a misunderstanding? Regards, Eng.? Carlos Viegas Engenheiro de Pesquisa e Desenvolvimento Faculdade de Engenharia da Universidade do Porto From tomh at tomh.org Tue Jun 5 22:43:23 2012 From: tomh at tomh.org (Tom Henderson) Date: Tue, 05 Jun 2012 22:43:23 -0700 Subject: [Ns-developers] ns-3.14 released In-Reply-To: <4EF53619.3030009@tomh.org> References: <4EF53619.3030009@tomh.org> Message-ID: <4FCEEDFB.3070606@tomh.org> I'm happy to announce the release of ns-3.14, now posted on the project web server. A significant amount of work went into this release on several fronts: - The transport protocol implementations for IP have been refactored so that they can support IPv4 and IPv6 connections. - The latest release of the LENA project has been incorporated. The LTE module has been reworked, with new LTE radio protocol models and an EPC data plane model. New propagation models (OkumuraHata, ITU-R P.1411, ITU-R P.1238), and a buildings pathloss model, have also been added. An antenna module, which includes different radiation pattern models, has been added. - The Random Early Detection (RED) queue model from ns-2 has been ported. - A Dynamic Source Routing (DSR) protocol model for IPv4 has been added. - An alternative implementation of the Jakes propagation loss model was added, to include narrowband (or frequency non-selective) cases of multipath propagation. - The netanim animator is now bundled with the release and has been added to the documentation. While many people contributed in significant ways to this release (including the authors of the above modules), I'd like to also recognize and thank Tommaso Pecorella and John Abraham for their substantial maintenance activities and support of the project. We have a busy summer planned with ns-3.15 scheduled for mid-August; more on that to follow. - Tom From mudit.raaj.gupta at gmail.com Wed Jun 6 03:02:20 2012 From: mudit.raaj.gupta at gmail.com (Mudit Gupta) Date: Wed, 6 Jun 2012 15:32:20 +0530 Subject: [Ns-developers] Weekly Report : HLA interfaces for ns-3 Message-ID: <CAKGqXFUrJ3RLwm7XSKbKgPu9SJ5k3Pnie9xDbunxD=FCkdYt4w@mail.gmail.com> Hello Everyone, I sincerely apologise for the delay in submission of my weekly report. Last week I worked on the following: 1. Changed the default scheduler from map to list and finally rti by small changes in simulator.cc 2. Modified map-scheduler and wrote a basic rti-scheduler.cc and rti-scheduler.h implementing scheduler.cc it is basic skeleton for implementing a thread for handling RTI request. Tried making thread in the class, some problems. 3. Modified the python script a bit to build object files of the new cpp files and .so 4. Ran the same example with a new scheduler and it was running successfully. I once again apologise for the delay. Best Regards, From gjcarneiro at gmail.com Wed Jun 6 07:29:17 2012 From: gjcarneiro at gmail.com (Gustavo Carneiro) Date: Wed, 6 Jun 2012 15:29:17 +0100 Subject: [Ns-developers] ns-3.14 released In-Reply-To: <4FCEEDFB.3070606@tomh.org> References: <4EF53619.3030009@tomh.org> <4FCEEDFB.3070606@tomh.org> Message-ID: <CAO-CpE+T_ovVmwgds89J1YX7Q82+-fgg-KHgZ9tiDW15zbLVzQ@mail.gmail.com> Tom, I am terribly sorry for not noticing this sooner, but, I see this on ns-3-dev: gjc at gjc-laptop:ns-3-dev$ hg heads changeset: 8850:6e874a0fee27 tag: tip user: Tom Henderson <tomh at tomh.org> date: Tue Jun 05 22:46:39 2012 -0700 summary: start new release notes for future releases changeset: 8762:407d9a51cae8 user: Gustavo J. A. M. Carneiro <gjc at inescporto.pt> date: Tue May 15 18:07:05 2012 +0100 summary: Bug 1410 - Assert in DefaultSimulatorImpl breaks Visualizer module. Looks like there was a head that was not merged. I don't remember ever doing a hg push -f, so it is strange that hg didn't catch this mistake. It's in times like these that I really prefer bzr: it doesn't let you shoot yourself in the foot so often :P On Wed, Jun 6, 2012 at 6:43 AM, Tom Henderson <tomh at tomh.org> wrote: > I'm happy to announce the release of ns-3.14, now posted on the project > web server. A significant amount of work went into this release on several > fronts: > - The transport protocol implementations for IP have been refactored so > that they can support IPv4 and IPv6 connections. > - The latest release of the LENA project has been incorporated. The LTE > module has been reworked, with new LTE radio protocol models and an EPC > data plane model. New propagation models (OkumuraHata, ITU-R P.1411, ITU-R > P.1238), and a buildings pathloss model, have also been added. An antenna > module, which includes different radiation pattern models, has been added. > - The Random Early Detection (RED) queue model from ns-2 has been ported. > - A Dynamic Source Routing (DSR) protocol model for IPv4 has been added. > - An alternative implementation of the Jakes propagation loss model was > added, to include narrowband (or frequency non-selective) cases of > multipath propagation. > - The netanim animator is now bundled with the release and has been added > to the documentation. > > While many people contributed in significant ways to this release > (including the authors of the above modules), I'd like to also recognize > and thank Tommaso Pecorella and John Abraham for their substantial > maintenance activities and support of the project. > > We have a busy summer planned with ns-3.15 scheduled for mid-August; more > on that to follow. > > - Tom > > -- > You received this message because you are subscribed to the Google Groups > "ns-3-users" group. > To post to this group, send email to ns-3-users at googlegroups.com. > To unsubscribe from this group, send email to ns-3-users+unsubscribe@** > googlegroups.com <ns-3-users%2Bunsubscribe at googlegroups.com>. > For more options, visit this group at http://groups.google.com/** > group/ns-3-users?hl=en <http://groups.google.com/group/ns-3-users?hl=en>. > > -- Gustavo J. A. M. Carneiro INESC Porto, UTM, WiN, http://win.inescporto.pt/gjc "The universe is always one step beyond logic." -- Frank Herbert From gjcarneiro at gmail.com Wed Jun 6 07:59:44 2012 From: gjcarneiro at gmail.com (Gustavo Carneiro) Date: Wed, 6 Jun 2012 15:59:44 +0100 Subject: [Ns-developers] ns-3.14 released In-Reply-To: <CAO-CpE+T_ovVmwgds89J1YX7Q82+-fgg-KHgZ9tiDW15zbLVzQ@mail.gmail.com> References: <4EF53619.3030009@tomh.org> <4FCEEDFB.3070606@tomh.org> <CAO-CpE+T_ovVmwgds89J1YX7Q82+-fgg-KHgZ9tiDW15zbLVzQ@mail.gmail.com> Message-ID: <CAO-CpEK780YppjHr0YUMYgdQPWxh56xfamTKMLra2CYzjVbSkQ@mail.gmail.com> I discovered the problem when developing this patch. It automatically adds the visualizer module to the (c++) program being executed through waf --run when the --vis option is enabled. For instance: gjc at gjc-laptop:ns-3-dev$ ./waf --run tcp-star-server --vis Waf: Entering directory `/home/gjc/projects/ns/ns-3-allinone/ns-3-dev/build' [1467/1733] cxx: examples/tcp/tcp-star-server.cc -> build/examples/tcp/tcp-star-server.cc.4.o [1644/1733] cxxprogram: build/examples/tcp/tcp-star-server.cc.4.o -> build/examples/tcp/ns3-dev-tcp-star-server-debug Waf: Leaving directory `/home/gjc/projects/ns/ns-3-allinone/ns-3-dev/build' 'build' finished successfully (5.558s) scanning topology: 9 nodes... scanning topology: calling graphviz layout scanning topology: all done. This only has the problem of causing a rebuild of the simulation program when the --vis option is enabled. Personally, I think it's only a minor inconvenience. Any objections to pushing this change? ------------------ diff -r 4c69df8550e3 wscript --- a/wscript Wed Jun 06 15:29:44 2012 +0100 +++ b/wscript Wed Jun 06 15:55:25 2012 +0100 @@ -823,6 +823,9 @@ # nothing more; this greatly speeds up compilation when all you # want to do is run a test program. Options.options.targets += ',' + os.path.basename(program_name) + if getattr(Options.options, "visualize", False): + program_obj = wutils.find_program(program_name, bld.env) + program_obj.use.append('ns3-visualizer') for gen in bld.all_task_gen: if type(gen).__name__ in ['ns3header_taskgen', 'ns3moduleheader_taskgen']: gen.post() ----------------- On Wed, Jun 6, 2012 at 3:29 PM, Gustavo Carneiro <gjcarneiro at gmail.com>wrote: > Tom, I am terribly sorry for not noticing this sooner, but, I see this on > ns-3-dev: > > gjc at gjc-laptop:ns-3-dev$ hg heads > changeset: 8850:6e874a0fee27 > tag: tip > user: Tom Henderson <tomh at tomh.org> > date: Tue Jun 05 22:46:39 2012 -0700 > summary: start new release notes for future releases > > changeset: 8762:407d9a51cae8 > user: Gustavo J. A. M. Carneiro <gjc at inescporto.pt> > date: Tue May 15 18:07:05 2012 +0100 > summary: Bug 1410 - Assert in DefaultSimulatorImpl breaks Visualizer > module. > > Looks like there was a head that was not merged. I don't remember ever > doing a hg push -f, so it is strange that hg didn't catch this mistake. > It's in times like these that I really prefer bzr: it doesn't let you shoot > yourself in the foot so often :P > > On Wed, Jun 6, 2012 at 6:43 AM, Tom Henderson <tomh at tomh.org> wrote: > >> I'm happy to announce the release of ns-3.14, now posted on the project >> web server. A significant amount of work went into this release on several >> fronts: >> - The transport protocol implementations for IP have been refactored so >> that they can support IPv4 and IPv6 connections. >> - The latest release of the LENA project has been incorporated. The LTE >> module has been reworked, with new LTE radio protocol models and an EPC >> data plane model. New propagation models (OkumuraHata, ITU-R P.1411, ITU-R >> P.1238), and a buildings pathloss model, have also been added. An antenna >> module, which includes different radiation pattern models, has been added. >> - The Random Early Detection (RED) queue model from ns-2 has been ported. >> - A Dynamic Source Routing (DSR) protocol model for IPv4 has been added. >> - An alternative implementation of the Jakes propagation loss model was >> added, to include narrowband (or frequency non-selective) cases of >> multipath propagation. >> - The netanim animator is now bundled with the release and has been added >> to the documentation. >> >> While many people contributed in significant ways to this release >> (including the authors of the above modules), I'd like to also recognize >> and thank Tommaso Pecorella and John Abraham for their substantial >> maintenance activities and support of the project. >> >> We have a busy summer planned with ns-3.15 scheduled for mid-August; more >> on that to follow. >> >> - Tom >> >> -- >> You received this message because you are subscribed to the Google Groups >> "ns-3-users" group. >> To post to this group, send email to ns-3-users at googlegroups.com. >> To unsubscribe from this group, send email to ns-3-users+unsubscribe@** >> googlegroups.com <ns-3-users%2Bunsubscribe at googlegroups.com>. >> For more options, visit this group at http://groups.google.com/** >> group/ns-3-users?hl=en <http://groups.google.com/group/ns-3-users?hl=en>. >> >> > > > -- > Gustavo J. A. M. Carneiro > INESC Porto, UTM, WiN, http://win.inescporto.pt/gjc > "The universe is always one step beyond logic." -- Frank Herbert > -- Gustavo J. A. M. Carneiro INESC Porto, UTM, WiN, http://win.inescporto.pt/gjc "The universe is always one step beyond logic." -- Frank Herbert From tomh at tomh.org Wed Jun 6 09:37:40 2012 From: tomh at tomh.org (Tom Henderson) Date: Wed, 06 Jun 2012 10:37:40 -0600 Subject: [Ns-developers] ns-3.14 released In-Reply-To: <CAO-CpE+T_ovVmwgds89J1YX7Q82+-fgg-KHgZ9tiDW15zbLVzQ@mail.gmail.com> References: <4EF53619.3030009@tomh.org> <4FCEEDFB.3070606@tomh.org> <CAO-CpE+T_ovVmwgds89J1YX7Q82+-fgg-KHgZ9tiDW15zbLVzQ@mail.gmail.com> Message-ID: <677de006762d0b625d2da317649aea88@tomh.org> On 2012-06-06 08:29, Gustavo Carneiro wrote: > Tom, I am terribly sorry for not noticing this sooner, but, I see > this > on ns-3-dev: > > gjc at gjc-laptop:ns-3-dev$ hg heads > changeset: ? 8850:6e874a0fee27 > tag: ? ? ? ? tip > user: ? ? ? ?Tom Henderson <tomh at tomh.org [4]> > date: ? ? ? ?Tue Jun 05 22:46:39 2012 -0700 > summary: ? ? start new release notes for future releases > > changeset: ? 8762:407d9a51cae8 > user: ? ? ? ?Gustavo J. A. M. Carneiro ?<gjc at inescporto.pt [5]> > date: ? ? ? ?Tue May 15 18:07:05 2012 +0100 > summary: ? ? Bug 1410 - Assert in DefaultSimulatorImpl breaks > Visualizer module. > > Looks like there was a head that was not merged. ?I don't remember > ever doing a hg push -f, so it is strange that hg didn't catch this > mistake. It's in times like these that I really prefer bzr: it > doesn't > let you shoot yourself in the foot so often :P Having two heads is probably just local to your repository. I don't see two heads on my repo, and furthermore, we put in some server-side modifications a while back to prevent the creation of multiple heads (i.e. hg push -f will fail to create two heads). But the practical implication is that changeset 407d9a51cae8 wasn't really pushed to ns-3-dev. I did not test whether visualizer actually ran to completion (when fixing bug 1442), but rather whether the visualizer window popped up successfully. It would be nice if we could automate this somehow, or else we need to be better about having the release manager manually run a particular visualization to successful completion. - Tom From tomh at tomh.org Wed Jun 6 09:45:48 2012 From: tomh at tomh.org (Tom Henderson) Date: Wed, 06 Jun 2012 10:45:48 -0600 Subject: [Ns-developers] ns-3.14 released In-Reply-To: <CAO-CpEK780YppjHr0YUMYgdQPWxh56xfamTKMLra2CYzjVbSkQ@mail.gmail.com> References: <4EF53619.3030009@tomh.org> <4FCEEDFB.3070606@tomh.org> <CAO-CpE+T_ovVmwgds89J1YX7Q82+-fgg-KHgZ9tiDW15zbLVzQ@mail.gmail.com> <CAO-CpEK780YppjHr0YUMYgdQPWxh56xfamTKMLra2CYzjVbSkQ@mail.gmail.com> Message-ID: <61059a9f3cc32aba9f869398ec7776b6@tomh.org> On 2012-06-06 08:59, Gustavo Carneiro wrote: > I discovered the problem when developing this patch. ?It > automatically adds the visualizer module to the (c++) program being > executed through waf --run when the --vis option is enabled. ?For > instance: > > gjc at gjc-laptop:ns-3-dev$ ./waf --run tcp-star-server --vis > Waf: Entering directory > `/home/gjc/projects/ns/ns-3-allinone/ns-3-dev/build' > [1467/1733] cxx: examples/tcp/tcp-star-server.cc -> > build/examples/tcp/tcp-star-server.cc.4.o > [1644/1733] cxxprogram: build/examples/tcp/tcp-star-server.cc.4.o -> > build/examples/tcp/ns3-dev-tcp-star-server-debug > Waf: Leaving directory > `/home/gjc/projects/ns/ns-3-allinone/ns-3-dev/build' > 'build' finished successfully (5.558s) > scanning topology: 9 nodes... > scanning topology: calling graphviz layout > scanning topology: all done. > > This only has the problem of causing a rebuild of the simulation > program when the --vis option is enabled. ?Personally, I think it's > only a minor inconvenience. > > Any objections to pushing this change? This seems like a useful enhancement; +1 to push. Going further with this, should we remove 'visualizer' dependency from our example wscripts? I have noticed that when visualizer is not available on a particular system (e.g. the user has not downloaded the necessary python packages), it disables the compilation of any such examples that have expressed this dependency, even though it is just a pyviz dependency and the example could otherwise be run. - Tom From gjcarneiro at gmail.com Wed Jun 6 09:54:16 2012 From: gjcarneiro at gmail.com (Gustavo Carneiro) Date: Wed, 6 Jun 2012 17:54:16 +0100 Subject: [Ns-developers] ns-3.14 released In-Reply-To: <61059a9f3cc32aba9f869398ec7776b6@tomh.org> References: <4EF53619.3030009@tomh.org> <4FCEEDFB.3070606@tomh.org> <CAO-CpE+T_ovVmwgds89J1YX7Q82+-fgg-KHgZ9tiDW15zbLVzQ@mail.gmail.com> <CAO-CpEK780YppjHr0YUMYgdQPWxh56xfamTKMLra2CYzjVbSkQ@mail.gmail.com> <61059a9f3cc32aba9f869398ec7776b6@tomh.org> Message-ID: <CAO-CpE+gYn_2TOu8miM8LkaWy1U_OmDHv1SmEi2_X4QuBw-Jvw@mail.gmail.com> On Wed, Jun 6, 2012 at 5:45 PM, Tom Henderson <tomh at tomh.org> wrote: > On 2012-06-06 08:59, Gustavo Carneiro wrote: > >> I discovered the problem when developing this patch. It >> automatically adds the visualizer module to the (c++) program being >> executed through waf --run when the --vis option is enabled. For >> instance: >> >> gjc at gjc-laptop:ns-3-dev$ ./waf --run tcp-star-server --vis >> Waf: Entering directory >> `/home/gjc/projects/ns/ns-3-**allinone/ns-3-dev/build' >> [1467/1733] cxx: examples/tcp/tcp-star-server.**cc -> >> build/examples/tcp/tcp-star-**server.cc.4.o >> [1644/1733] cxxprogram: build/examples/tcp/tcp-star-**server.cc.4.o -> >> build/examples/tcp/ns3-dev-**tcp-star-server-debug >> Waf: Leaving directory >> `/home/gjc/projects/ns/ns-3-**allinone/ns-3-dev/build' >> 'build' finished successfully (5.558s) >> scanning topology: 9 nodes... >> scanning topology: calling graphviz layout >> scanning topology: all done. >> >> This only has the problem of causing a rebuild of the simulation >> program when the --vis option is enabled. Personally, I think it's >> only a minor inconvenience. >> >> Any objections to pushing this change? >> > > This seems like a useful enhancement; +1 to push. > > Going further with this, should we remove 'visualizer' dependency from our > example wscripts? I have noticed that when visualizer is not available on > a particular system (e.g. the user has not downloaded the necessary python > packages), it disables the compilation of any such examples that have > expressed this dependency, even though it is just a pyviz dependency and > the example could otherwise be run. Yes, I think examples shouldn't have visualizer depedency. If any do have it, it was probably accidentally introduced. Back to the unmerged changes, this is what my "hg out" command shows me now. As you can see, there are some more commits that never made it to ns-3-dev, so I would like to just "push" everything. I checked that it builds and runs fine. May I push it all? The last changeset is the patch I talked about earlier. changeset: 8759:3a458716f61f user: Gustavo J. A. M. Carneiro <gjc at inescporto.pt> date: Tue May 15 17:59:53 2012 +0100 summary: Fix the LTE Python bindings: unit tests headers should not be made public changeset: 8760:961590811cd5 user: Gustavo J. A. M. Carneiro <gjc at inescporto.pt> date: Tue May 15 18:00:30 2012 +0100 summary: virtual-net-device python bindings changeset: 8761:bd113d9ac191 user: Gustavo J. A. M. Carneiro <gjc at inescporto.pt> date: Tue May 15 18:00:55 2012 +0100 summary: Update pyviz to changed LTE API changeset: 8762:407d9a51cae8 user: Gustavo J. A. M. Carneiro <gjc at inescporto.pt> date: Tue May 15 18:07:05 2012 +0100 summary: Bug 1410 - Assert in DefaultSimulatorImpl breaks Visualizer module. changeset: 8851:4c69df8550e3 parent: 8850:6e874a0fee27 parent: 8762:407d9a51cae8 user: Gustavo J. A. M. Carneiro <gjc at inescporto.pt> date: Wed Jun 06 15:29:44 2012 +0100 summary: merge changeset: 8852:ca8f39fe3f14 tag: tip user: Gustavo J. A. M. Carneiro <gjc at inescporto.pt> date: Wed Jun 06 17:44:05 2012 +0100 summary: Automatically add the visualizer module to programs running with waf --run --vis -- Gustavo J. A. M. Carneiro INESC Porto, UTM, WiN, http://win.inescporto.pt/gjc "The universe is always one step beyond logic." -- Frank Herbert From tomh at tomh.org Wed Jun 6 10:06:30 2012 From: tomh at tomh.org (Tom Henderson) Date: Wed, 06 Jun 2012 11:06:30 -0600 Subject: [Ns-developers] ns-3.14 released In-Reply-To: <CAO-CpE+gYn_2TOu8miM8LkaWy1U_OmDHv1SmEi2_X4QuBw-Jvw@mail.gmail.com> References: <4EF53619.3030009@tomh.org> <4FCEEDFB.3070606@tomh.org> <CAO-CpE+T_ovVmwgds89J1YX7Q82+-fgg-KHgZ9tiDW15zbLVzQ@mail.gmail.com> <CAO-CpEK780YppjHr0YUMYgdQPWxh56xfamTKMLra2CYzjVbSkQ@mail.gmail.com> <61059a9f3cc32aba9f869398ec7776b6@tomh.org> <CAO-CpE+gYn_2TOu8miM8LkaWy1U_OmDHv1SmEi2_X4QuBw-Jvw@mail.gmail.com> Message-ID: <c656ab012fd9f80fc58bde4a2afd318a@tomh.org> > > Yes, I think examples shouldn't have visualizer depedency. ?If any do > have it, it was probably accidentally introduced. I believe that there was a time in the past when it was necessary to have this dependency, but we can clean it out now. > > Back to the unmerged changes, this is what my "hg out" command shows > me now. ?As you can see, there are some more commits that never > ?made it to ns-3-dev, so I would like to just "push" everything. ?I > checked that it builds and runs fine. > > May I push it all? ?The last changeset is the patch I talked about > earlier. Yes, but please check that your 8760 and 8761 are not redundant with these already committed patches: changeset: 8832:07e2e440d667 user: Tom Henderson <tomh at tomh.org> date: Fri Jun 01 11:39:48 2012 -0700 summary: update LTE device names changeset: 8831:5c3f2edc1c97 user: Tom Henderson <tomh at tomh.org> date: Fri Jun 01 09:41:07 2012 -0700 summary: add bindings for virtual-net-device I can make a hotfix release for ns-3.14 once it settles today. - Tom From gjcarneiro at gmail.com Wed Jun 6 10:48:50 2012 From: gjcarneiro at gmail.com (Gustavo Carneiro) Date: Wed, 6 Jun 2012 18:48:50 +0100 Subject: [Ns-developers] ns-3.14 released In-Reply-To: <c656ab012fd9f80fc58bde4a2afd318a@tomh.org> References: <4EF53619.3030009@tomh.org> <4FCEEDFB.3070606@tomh.org> <CAO-CpE+T_ovVmwgds89J1YX7Q82+-fgg-KHgZ9tiDW15zbLVzQ@mail.gmail.com> <CAO-CpEK780YppjHr0YUMYgdQPWxh56xfamTKMLra2CYzjVbSkQ@mail.gmail.com> <61059a9f3cc32aba9f869398ec7776b6@tomh.org> <CAO-CpE+gYn_2TOu8miM8LkaWy1U_OmDHv1SmEi2_X4QuBw-Jvw@mail.gmail.com> <c656ab012fd9f80fc58bde4a2afd318a@tomh.org> Message-ID: <CAO-CpE+iptOiHGyzoTaKwpH8LBsaaodJ2WYMzSd+FrH+EE108g@mail.gmail.com> On Wed, Jun 6, 2012 at 6:06 PM, Tom Henderson <tomh at tomh.org> wrote: > > >> Yes, I think examples shouldn't have visualizer depedency. If any do >> have it, it was probably accidentally introduced. >> > > I believe that there was a time in the past when it was necessary to have > this dependency, but we can clean it out now. > > > >> Back to the unmerged changes, this is what my "hg out" command shows >> me now. As you can see, there are some more commits that never >> made it to ns-3-dev, so I would like to just "push" everything. I >> checked that it builds and runs fine. >> >> May I push it all? The last changeset is the patch I talked about >> earlier. >> > > Yes, but please check that your 8760 and 8761 are not redundant with these > already committed patches: > > changeset: 8832:07e2e440d667 > user: Tom Henderson <tomh at tomh.org> > date: Fri Jun 01 11:39:48 2012 -0700 > summary: update LTE device names > > changeset: 8831:5c3f2edc1c97 > user: Tom Henderson <tomh at tomh.org> > date: Fri Jun 01 09:41:07 2012 -0700 > summary: add bindings for virtual-net-device > > > I can make a hotfix release for ns-3.14 once it settles today. I pushed just the two changes: 1. Bug 1410 - Assert in DefaultSimulatorImpl breaks Visualizer module 2. Automatically add the visualizer module to programs running with waf --run --vis I tested, visualizer is working for both C++ and Python programs (though in Python you still have to manually import ns.visualizer, in addition to waf --pyrun --vis). > > > - Tom > > -- Gustavo J. A. M. Carneiro INESC Porto, UTM, WiN, http://win.inescporto.pt/gjc "The universe is always one step beyond logic." -- Frank Herbert From tomh at tomh.org Wed Jun 6 23:55:26 2012 From: tomh at tomh.org (Tom Henderson) Date: Wed, 06 Jun 2012 23:55:26 -0700 Subject: [Ns-developers] ns-3.14.1 release posted Message-ID: <4FD0505E.1080004@tomh.org> We've had to make a hotfix release to ns-3.14 to address a PyViz issue that wasn't discovered until earlier today, so users who may have downloaded ns-3.14 already should update to the newly posted ns-3.14.1 release. - Tom From rivanvx at gmail.com Thu Jun 7 02:58:32 2012 From: rivanvx at gmail.com (=?UTF-8?Q?Vedran_Mileti=C4=87?=) Date: Thu, 7 Jun 2012 11:58:32 +0200 Subject: [Ns-developers] ns-3 TCP Tahoe, Reno and NewReno give identical results Message-ID: <CA+oUA21cXYU_KfKMpeWzk02nOhbrkAXqF=sGa8VpcuGc8s0=Jg@mail.gmail.com> Hi Adrian, if I'm not missing something this is a potentially serious issue in ns-3 TCP. If I'm missing something, then my students will laugh about it once someone stumbles upon this post. But I'm willing to take that. Please consider the attached code. If you change Tahoe to Reno or NewReno, the trace is exactly the same. Why? Also, there are some reductions in Window size that are not caused by lost packets. Why? Is it caused by OnOffApplication somehow? Thanks in advance. Vedran Mileti? -------------- next part -------------- A non-text attachment was scrubbed... Name: tcp-tahoe-on-off-app.cc Type: application/octet-stream Size: 3415 bytes Desc: not available Url : http://mailman.isi.edu/pipermail/ns-developers/attachments/20120607/81959bfa/tcp-tahoe-on-off-app.obj From juanantonio at um.es Thu Jun 7 03:43:40 2012 From: juanantonio at um.es (=?ISO-8859-1?Q?Juan_Antonio_Mart=EDnez_Navarro?=) Date: Thu, 07 Jun 2012 12:43:40 +0200 Subject: [Ns-developers] compiling new module for ns3 got "first 3 seeds = 0" error Message-ID: <4FD085DC.9030608@um.es> Hello, I'm trying to add a new routing protocol to ns3. So I've started with a simple exchange of messages. Nodes periodically send a beacon. When I run a simple scenario with two nodes I got this error. **************************** ERROR: First 3 seeds = 0. **************************** If I use aodv for instance instead of this simple protocol the error does not appear. However, despite the error, the protocol works fine. So, what's the meaining of this error message? Could you give me a hand? Thanks, Juan Antonio -------------- next part -------------- A non-text attachment was scrubbed... Name: juanantonio.vcf Type: text/x-vcard Size: 494 bytes Desc: not available Url : http://mailman.isi.edu/pipermail/ns-developers/attachments/20120607/b8deda8f/juanantonio.vcf From tomh at tomh.org Thu Jun 7 09:37:11 2012 From: tomh at tomh.org (Tom Henderson) Date: Thu, 07 Jun 2012 10:37:11 -0600 Subject: [Ns-developers] =?utf-8?q?compiling_new_module_for_ns3_got_=22fir?= =?utf-8?q?st_3_seeds_=3D_0=22_error?= In-Reply-To: <4FD085DC.9030608@um.es> References: <4FD085DC.9030608@um.es> Message-ID: <ec825e940db0a1c7040540f991af09c8@tomh.org> On 2012-06-07 04:43, Juan Antonio Mart?nez Navarro wrote: > Hello, > > I'm trying to add a new routing protocol to ns3. So I've started with > a simple exchange of messages. > Nodes periodically send a beacon. > > When I run a simple scenario with two nodes I got this error. > > **************************** > > ERROR: First 3 seeds = 0. > > **************************** > > > If I use aodv for instance instead of this simple protocol the error > does not appear. However, despite the error, the protocol works fine. > So, what's the meaining of this error message? > > Could you give me a hand? > > Thanks, > Juan Antonio you'll typically get this (non-fatal) error if you initialize the global seed to 0: e.g. ./waf --run "udp-echo --RngSeed=0" If you read the background documentation on this generator, it recommends to not set the seed value to 0: http://www.iro.umontreal.ca/~lecuyer/myftp/papers/streams00.pdf but the program will still work; it just may not provide streams with the desired statistical properties. Is this because you are setting the seed to zero, or are you getting this error otherwise? Whether you get it or not depends on your usage of the random variable system; for example, this will not raise an error: ./waf --run "first --RngSeed=0" - Tom From juanantonio at um.es Fri Jun 8 04:10:33 2012 From: juanantonio at um.es (=?UTF-8?B?SnVhbiBBbnRvbmlvIE1hcnTDrW5leiBOYXZhcnJv?=) Date: Fri, 08 Jun 2012 13:10:33 +0200 Subject: [Ns-developers] compiling new module for ns3 got "first 3 seeds = 0" error In-Reply-To: <ec825e940db0a1c7040540f991af09c8@tomh.org> References: <4FD085DC.9030608@um.es> <ec825e940db0a1c7040540f991af09c8@tomh.org> Message-ID: <4FD1DDA9.7020303@um.es> Hello tom, In my code, there is only one random variable: beaconTimer_.Schedule (MilliSeconds (UniformVariable ().GetInteger (0, 100))); Since I haven't set the seed for this variable, this could be the reason of the error message. Thank you, Juan Antonio On 07/06/12 18:37, Tom Henderson wrote: > On 2012-06-07 04:43, Juan Antonio Mart?nez Navarro wrote: >> Hello, >> >> I'm trying to add a new routing protocol to ns3. So I've started with >> a simple exchange of messages. >> Nodes periodically send a beacon. >> >> When I run a simple scenario with two nodes I got this error. >> >> **************************** >> >> ERROR: First 3 seeds = 0. >> >> **************************** >> >> >> If I use aodv for instance instead of this simple protocol the error >> does not appear. However, despite the error, the protocol works fine. >> So, what's the meaining of this error message? >> >> Could you give me a hand? >> >> Thanks, >> Juan Antonio > > you'll typically get this (non-fatal) error if you initialize the > global seed to 0: > > e.g. > > ./waf --run "udp-echo --RngSeed=0" > > If you read the background documentation on this generator, it > recommends to not set the seed value to 0: > > http://www.iro.umontreal.ca/~lecuyer/myftp/papers/streams00.pdf > > but the program will still work; it just may not provide streams with > the desired statistical properties. > > Is this because you are setting the seed to zero, or are you getting > this error otherwise? Whether you get it or not depends on your usage > of the random variable system; for example, this will not raise an error: > > ./waf --run "first --RngSeed=0" > > - Tom > -------------- next part -------------- A non-text attachment was scrubbed... Name: juanantonio.vcf Type: text/x-vcard Size: 506 bytes Desc: not available Url : http://mailman.isi.edu/pipermail/ns-developers/attachments/20120608/33cfd4dc/juanantonio.vcf From juanantonio at um.es Fri Jun 8 04:25:21 2012 From: juanantonio at um.es (=?UTF-8?B?SnVhbiBBbnRvbmlvIE1hcnTDrW5leiBOYXZhcnJv?=) Date: Fri, 08 Jun 2012 13:25:21 +0200 Subject: [Ns-developers] compiling new module for ns3 got "first 3 seeds = 0" error In-Reply-To: <4FD1DDA9.7020303@um.es> References: <4FD085DC.9030608@um.es> <ec825e940db0a1c7040540f991af09c8@tomh.org> <4FD1DDA9.7020303@um.es> Message-ID: <4FD1E121.4080405@um.es> Thank you again Tom, I'm using a SeedManager, and I was setting the seed to 0. Kind Regards, Juan Antonio On 08/06/12 13:10, Juan Antonio Mart?nez Navarro wrote: > Hello tom, > > In my code, there is only one random variable: > > beaconTimer_.Schedule (MilliSeconds (UniformVariable ().GetInteger > (0, 100))); > > Since I haven't set the seed for this variable, this could be the > reason of the error message. > > Thank you, > Juan Antonio > > > On 07/06/12 18:37, Tom Henderson wrote: >> On 2012-06-07 04:43, Juan Antonio Mart?nez Navarro wrote: >>> Hello, >>> >>> I'm trying to add a new routing protocol to ns3. So I've started with >>> a simple exchange of messages. >>> Nodes periodically send a beacon. >>> >>> When I run a simple scenario with two nodes I got this error. >>> >>> **************************** >>> >>> ERROR: First 3 seeds = 0. >>> >>> **************************** >>> >>> >>> If I use aodv for instance instead of this simple protocol the error >>> does not appear. However, despite the error, the protocol works fine. >>> So, what's the meaining of this error message? >>> >>> Could you give me a hand? >>> >>> Thanks, >>> Juan Antonio >> >> you'll typically get this (non-fatal) error if you initialize the >> global seed to 0: >> >> e.g. >> >> ./waf --run "udp-echo --RngSeed=0" >> >> If you read the background documentation on this generator, it >> recommends to not set the seed value to 0: >> >> http://www.iro.umontreal.ca/~lecuyer/myftp/papers/streams00.pdf >> >> but the program will still work; it just may not provide streams with >> the desired statistical properties. >> >> Is this because you are setting the seed to zero, or are you getting >> this error otherwise? Whether you get it or not depends on your >> usage of the random variable system; for example, this will not raise >> an error: >> >> ./waf --run "first --RngSeed=0" >> >> - Tom >> -------------- next part -------------- A non-text attachment was scrubbed... Name: juanantonio.vcf Type: text/x-vcard Size: 506 bytes Desc: not available Url : http://mailman.isi.edu/pipermail/ns-developers/attachments/20120608/643ed5de/juanantonio.vcf From tomh at tomh.org Sun Jun 10 06:27:06 2012 From: tomh at tomh.org (Tom Henderson) Date: Sun, 10 Jun 2012 06:27:06 -0700 Subject: [Ns-developers] ns-3 TCP Tahoe, Reno and NewReno give identical results In-Reply-To: <CA+oUA21cXYU_KfKMpeWzk02nOhbrkAXqF=sGa8VpcuGc8s0=Jg@mail.gmail.com> References: <CA+oUA21cXYU_KfKMpeWzk02nOhbrkAXqF=sGa8VpcuGc8s0=Jg@mail.gmail.com> Message-ID: <4FD4A0AA.8010304@tomh.org> On 06/07/2012 02:58 AM, Vedran Mileti? wrote: > Hi Adrian, > > if I'm not missing something this is a potentially serious issue in > ns-3 TCP. If I'm missing something, then my students will laugh about > it once someone stumbles upon this post. But I'm willing to take that. > > Please consider the attached code. If you change Tahoe to Reno or > NewReno, the trace is exactly the same. Why? Please try to put your Config::SetDefault() statement before the internet stacks are created. > > Also, there are some reductions in Window size that are not caused by > lost packets. Why? > > Is it caused by OnOffApplication somehow? The receiver window is also available as a trace source in TcpSocketBase, so you could write a trace sink similar to what you did for cwnd and see if those are causing the reductions. - Tom From q5frc at unb.ca Sun Jun 10 08:31:05 2012 From: q5frc at unb.ca (Dizhi Zhou) Date: Sun, 10 Jun 2012 12:31:05 -0300 Subject: [Ns-developers] Weekly Progress -- GSoC LTE MAC scheduler Message-ID: <4FD4BDB9.3050402@unb.ca> Dear all, Here is my weekly progress on GSoC LTE MAC scheduler project: Done: 1, modify FD-MT documentation and code based on mentors' comment 2, complete TD-MT documentation and code and submit it to internal code review by mentors 2, complete FD-TTA design Plan in next week: 1, submit FD-MT, TD-MT for public review 2, complete FD-TTA code and documentation 3, complete FD-BET design Regards Dizhi -- Dizhi Zhou Ph.D. Candidate Faculty of Computer Science University of New Brunswick 540 Windsor Street Fredericton,New Brunswick,Canada E3B 5A3 E. q5frc at unb.ca Homepage: www.cs.unb.ca/~q5frc/ From rivanvx at gmail.com Sun Jun 10 16:44:16 2012 From: rivanvx at gmail.com (=?UTF-8?Q?Vedran_Mileti=C4=87?=) Date: Mon, 11 Jun 2012 01:44:16 +0200 Subject: [Ns-developers] Node and NetDevice start/stop In-Reply-To: <1337546807.2808.0.camel@mathieu-dell> References: <e169e32a0439c32b8fcadb3a9ec2f815@tomh.org> <a4f95e35a3bec14ff91c52fabac50aa4@tomh.org> <1337412852.2405.16.camel@mathieu-dell> <4FB8739B.7090003@tomh.org> <59B10F6B-A8C2-47F5-8F7E-814872D93AFC@cutebugs.net> <1337546807.2808.0.camel@mathieu-dell> Message-ID: <CA+oUA22tHMtAAPD40BUXWvchykdzDj_ZbW9bPhX1LeKYZY=zNA@mail.gmail.com> 2012/5/20 Mathieu Lacage <mathieu.lacage at cutebugs.net>: > On Sun, 2012-05-20 at 08:56 +0200, mathieu lacage wrote: > >> i am afraid that i do not see that part as being easier to get right than the other part. In both cases, i feel that we need to propagate the down event to all objects concerned. > > For the record, here is a patch (stop.patch) that implements the > Object::Stop API. (the API I alluded in the above sentence and that we > discussed a couple of meetings ago) > > The second patch (opt.patch) is an optimization to save users from > having to override DoStop/DoStart just to propagate the start/stop > events to objects that are already visible to the Object base class. > > i.e., before we discuss again new API here and there, could we try to > see if these patches are sufficient ? > > Mathieu I like this. Vedran From rivanvx at gmail.com Sun Jun 10 17:23:05 2012 From: rivanvx at gmail.com (=?UTF-8?Q?Vedran_Mileti=C4=87?=) Date: Mon, 11 Jun 2012 02:23:05 +0200 Subject: [Ns-developers] ns-3 TCP Tahoe, Reno and NewReno give identical results In-Reply-To: <4FD4A0AA.8010304@tomh.org> References: <CA+oUA21cXYU_KfKMpeWzk02nOhbrkAXqF=sGa8VpcuGc8s0=Jg@mail.gmail.com> <4FD4A0AA.8010304@tomh.org> Message-ID: <CA+oUA22TSVf9uXggfEkdDF-aQ287ZST4Nj7X6KxMNKjJirW4zw@mail.gmail.com> 2012/6/10 Tom Henderson <tomh at tomh.org>: > Please try to put your Config::SetDefault() statement before the internet > stacks are created. Thanks, this solves it. >> Also, there are some reductions in Window size that are not caused by >> lost packets. Why? >> >> Is it caused by OnOffApplication somehow? > > > The receiver window is also available as a trace source in TcpSocketBase, so > you could write a trace sink similar to what you did for cwnd and see if > those are causing the reductions. > > - Tom I will check, thanks for the suggestion. Vedran From mudit.raaj.gupta at gmail.com Mon Jun 11 02:44:13 2012 From: mudit.raaj.gupta at gmail.com (Mudit Gupta) Date: Mon, 11 Jun 2012 15:14:13 +0530 Subject: [Ns-developers] Weekly Report - HLA interfaces for ns3 Message-ID: <CAKGqXFXf8n2fiXZMkGV5hH-CFgwRX4HHJFNi41hDO19MDLj=Vw@mail.gmail.com> Hello Everyone, This past week I worked on the following: 1. Got reviews on my scheduler implementation, several design issues discussed with the mentor 2. Designed a new architecture for the scheduler 3. Installed portico 4. Ran demo programs in JAVA for HLA13 5. Established a fedration and make federates join the federation This week I will be working on ns3Federate Ambassador Best Regards, Mudit Raj Gupta From kuldip237 at gmail.com Mon Jun 11 06:21:16 2012 From: kuldip237 at gmail.com (Kuldeep Singh) Date: Mon, 11 Jun 2012 18:51:16 +0530 Subject: [Ns-developers] method doesn't exist Message-ID: <CAB6uTL_h+zC3ZESy-SAWRXu22xwXuT5gutXMOh0ku5Ef2_87mg@mail.gmail.com> hi everyone, I am studying ns-3 API documentation from following link:- http://www.nsnam.org/docs/release/3.14/doxygen/classns3_1_1_net_device.html#details It says:- "If you want to write a new MAC layer, you need to subclass this base class and implement your own version of the *NetDevice::SendTo* method." but there is no method named "*NetDevice::SendTo*" in source code of corresponding file. please let me know that whether it is spelling mistake or the method is needed to implement in sub-class. Thanks, Kuldeep From tomh at tomh.org Mon Jun 11 07:47:57 2012 From: tomh at tomh.org (Tom Henderson) Date: Mon, 11 Jun 2012 08:47:57 -0600 Subject: [Ns-developers] method doesn't exist In-Reply-To: <CAB6uTL_h+zC3ZESy-SAWRXu22xwXuT5gutXMOh0ku5Ef2_87mg@mail.gmail.com> References: <CAB6uTL_h+zC3ZESy-SAWRXu22xwXuT5gutXMOh0ku5Ef2_87mg@mail.gmail.com> Message-ID: <5814df44d43b1c04e48c3fcf3722b598@tomh.org> On 2012-06-11 07:21, Kuldeep Singh wrote: > hi everyone, > > I am studying ns-3 API documentation from following link:- > > > http://www.nsnam.org/docs/release/3.14/doxygen/classns3_1_1_net_device.html#details > > It says:- > > "If you want to write a new MAC layer, you need to subclass this base > class > and implement your own version of the *NetDevice::SendTo* method." > > but there is no method named "*NetDevice::SendTo*" in source code of > corresponding file. > > please let me know that whether it is spelling mistake or the method > is > needed to implement in sub-class. This documentation is out of date; it should perhaps read: "If you want to write a new MAC layer, you need to subclass this base class and implement your own version of the several pure virtual methods (including NetDevice::Send()) in this class." - Tom From intutivestriker88 at gmail.com Mon Jun 11 18:43:47 2012 From: intutivestriker88 at gmail.com (V.Sindhuja) Date: Mon, 11 Jun 2012 21:43:47 -0400 Subject: [Ns-developers] GSOC Project Weekly Report - Network Address and Port Translation (NAT) models Message-ID: <CAHquBzu+yn+fCOOhicCLqsQTM=bGBvtLMTqMnyqxhDJErG=sqg@mail.gmail.com> Hello Everyone, Here is the report of the work done last week on the project. 3rd week of GSOC: - Three node example with n0---n1---n2 built. - The example was tested to get the appropriate hooks to be called at the right points: - On the sending node, the local out and postrouting are hit - On the middle node, the prerouting, forward, and postrouting are hit - On the receiving node, the prerouting and local in are hit - Discussion on the design of how to port over the existing callbacks on the previous work done. - Adding the ProcessHook() method in the appropriate places on the code. - Getting the original ProcessHook() method to work. Goals for coming week: - Porting the call backs and giving them priorities - Starting work on the conntrack framework - Testing the above implemented. -- Thanks and Regards, Sindhuja Venkatesh Graduate Student, Department of CSE, University at Buffalo, SUNY. From wdron at bbn.com Tue Jun 12 07:08:41 2012 From: wdron at bbn.com (William Dron) Date: Tue, 12 Jun 2012 10:08:41 -0400 Subject: [Ns-developers] checksum error sending multicast in ubuntu precise Message-ID: <4FD74D69.9000004@bbn.com> Using EmuNet devices, I'm getting UDP checksum errors when I send multicast packets through the emu net with Ubuntu precise (12.04), has anyone else had this problem? I've tested with ns-3.13 and ns-3.14.1. My other machine is running Ubuntu maverick (10.10) and does not have this problem. Pcap trace of the message: 00:00:00.000000 IP (tos 0x0, ttl 1, id 0, offset 0, flags [DF], proto UDP (17), length 371) 10.122.101.2.37910 > 224.122.1.1.4445: [bad udp cksum 0x5268 -> 0xc197!] UDP, length 343 Code: for(xn_iter p = xcn_nodes.begin(); p != xcn_nodes.end(); p++) { uint32_t nodeID = p->first; xcn_node = p->second; ns3_node = ns3_nodes.Get(nodeID); Ptr<Ipv4> ipv4 = ns3_node->GetObject<Ipv4>(); Ipv4Address emu_addr = Ipv4Address((xcn_node->emu_prefix + string(".1")).c_str()); Ipv4Address emu_network = Ipv4Address((xcn_node->emu_prefix + string(".0")).c_str()); Ipv4Address wifi_addr = Ipv4Address(xcn_node->wifi_addr); // wifi interface Ptr<NetDevice> wifi_device = ns3_node->GetDevice(0); uint32_t wifi_interface = ipv4->AddInterface(wifi_device); Ipv4InterfaceAddress wifi_int_addr = Ipv4InterfaceAddress(wifi_addr, Ipv4Mask("255.255.255.0")); ipv4->AddAddress(wifi_interface, wifi_int_addr); ipv4->SetMetric(wifi_interface, 1); ipv4->SetUp(wifi_interface); // add ethernet device Ptr<EmuNetDevice> emu_device = CreateObject<EmuNetDevice>(); emu_device->SetAttribute("Address", Mac48AddressValue(Mac48Address::Allocate())); emu_device->SetAttribute("DeviceName", StringValue(xcn_node->name)); // queue type Ptr<Queue>queue = CreateObject<DropTailQueue>(); emu_device->SetQueue(queue); ns3_node->AddDevice(emu_device); // add emu interface uint32_t emu_interface = ipv4->AddInterface(emu_device); Ipv4InterfaceAddress emu_int_addr = Ipv4InterfaceAddress(emu_addr, Ipv4Mask("255.255.255.0")); ipv4->AddAddress(emu_interface, emu_int_addr); ipv4->SetMetric(emu_interface, 0); ipv4->SetUp(emu_interface); // Setup up multicast routes and join the group Ipv4Address source = Ipv4Address("0.0.0.0"); Ipv4Address mcgroup = Ipv4Address("224.122.1.1"); NetDeviceContainer out_devices = NetDeviceContainer(wifi_device); staticRteHelper.AddMulticastRoute(ns3_node, source, mcgroup, emu_device, out_devices); // only allow one-hop multicast out_devices = NetDeviceContainer(emu_device); staticRteHelper.AddMulticastRoute(ns3_node, source, mcgroup, wifi_device, out_devices); } -- William Dron Raytheon BBN Technologies 10 Moulton Street. Mailstop 6/2d Cambridge, MA 02138 wdron at bbn.com 617-873-7740 From gbadawy at gmail.com Wed Jun 13 18:47:23 2012 From: gbadawy at gmail.com (Ghada Badawy) Date: Wed, 13 Jun 2012 21:47:23 -0400 Subject: [Ns-developers] Delay calculation Message-ID: <D92A4DE6-0159-4878-9BFE-AD6C5D34C310@gmail.com> Hi I want to calculate the packet delay without the MAC queue delay (only backoff time, transmission and retransmission time) is there a way to do that I can't find any traces for dequeue event. Regards, Ghada From ashim.atiit at gmail.com Thu Jun 14 16:25:34 2012 From: ashim.atiit at gmail.com (Ashim Ghosh) Date: Fri, 15 Jun 2012 04:55:34 +0530 Subject: [Ns-developers] Call to InetSocketAddress::IsMatchingType instead of Ipv4Address::IsMatchingType in the UdpSocketImpl class. Message-ID: <CAHiqhWoLiJVA07OdrVJDzJ6tnQkWbfGLJfC5YzH1pYfW6dmwmg@mail.gmail.com> Hello, Version: ns-3.14 Module: Internet (IPv4/UDP) Function: [UdpSocketImpl::DoSend][1] Minor Problem: The purpose of if statement in line #361 seem to be to ensure that the socket is bound (m_endPoint != 0 meaning socket is bound). Throughout the code, m_defaultAddress stores an Ipv4Address. Hence, InetSocketAddress::IsMatchingType (m_defaultAddress) will always be false, resulting in an unbound socket remaining unbound. This doesn't cause a problem because [DoSendTo][2] (which is ultimately called by DoSend) ensures that the socket is bound. Should InetSocketAddress::IsMatchingType (m_defaultAddress) be changed to Ipv4Address::IsMatchingType (m_defaultAddress), or am i just being too picky? As an aside, the checks carried out by DoSend, before calling DoSendTo, are also carried by the two versions of DoSendTo. Thank You. [1]: http://code.nsnam.org/ns-3.14/file/95b41db999a0/src/internet/model/udp-socket-impl.cc#l357 [2]: http://code.nsnam.org/ns-3.14/file/95b41db999a0/src/internet/model/udp-socket-impl.cc#l440 -- Regards, Ashim Ghosh :) From tomh at tomh.org Thu Jun 14 23:21:51 2012 From: tomh at tomh.org (Tom Henderson) Date: Fri, 15 Jun 2012 00:21:51 -0600 Subject: [Ns-developers] Call to InetSocketAddress::IsMatchingType instead of Ipv4Address::IsMatchingType in the UdpSocketImpl class. In-Reply-To: <CAHiqhWoLiJVA07OdrVJDzJ6tnQkWbfGLJfC5YzH1pYfW6dmwmg@mail.gmail.com> References: <CAHiqhWoLiJVA07OdrVJDzJ6tnQkWbfGLJfC5YzH1pYfW6dmwmg@mail.gmail.com> Message-ID: <6561fc84c865a07eadf883058c88416b@tomh.org> On 2012-06-14 17:25, Ashim Ghosh wrote: > Hello, > > Version: > ns-3.14 > > Module: > Internet (IPv4/UDP) > > Function: > [UdpSocketImpl::DoSend][1] > > Minor Problem: > The purpose of if statement in line #361 seem to be to ensure that > the > socket is bound (m_endPoint != 0 meaning socket is bound). > Throughout > the code, m_defaultAddress stores an Ipv4Address. Hence, > InetSocketAddress::IsMatchingType (m_defaultAddress) will always be > false, resulting in an unbound socket remaining unbound. > > This doesn't cause a problem because [DoSendTo][2] (which is > ultimately called by DoSend) ensures that the socket is bound. > > Should InetSocketAddress::IsMatchingType (m_defaultAddress) be > changed > to Ipv4Address::IsMatchingType (m_defaultAddress), or am i just being > too picky? > > As an aside, the checks carried out by DoSend, before calling > DoSendTo, are also carried by the two versions of DoSendTo. It seems to me that lines 361-378 could be safely deleted, since as you mentioned, these checks will be performed later. - Tom From ashim.atiit at gmail.com Sat Jun 16 01:56:32 2012 From: ashim.atiit at gmail.com (Ashim Ghosh) Date: Sat, 16 Jun 2012 14:26:32 +0530 Subject: [Ns-developers] Call to InetSocketAddress::IsMatchingType instead of Ipv4Address::IsMatchingType in the UdpSocketImpl class Message-ID: <CAHiqhWrfDZvZ-bj3yEAPC=D_d9UDsHiRYoLytYw3c8=oW8rLmQ@mail.gmail.com> Hello, On Fri, 15 Jun 2012 00:21:51 -0600, Tom Henderson wrote: > On 2012-06-14 17:25, Ashim Ghosh wrote: >> Hello, >> >> Version: >> ns-3.14 >> >> Module: >> Internet (IPv4/UDP) >> >> Function: >> [UdpSocketImpl::DoSend][1] >> >> Minor Problem: >> The purpose of if statement in line #361 seem to be to ensure that >> the >> socket is bound (m_endPoint != 0 meaning socket is bound). >> Throughout >> the code, m_defaultAddress stores an Ipv4Address. Hence, >> InetSocketAddress::IsMatchingType (m_defaultAddress) will always be >> false, resulting in an unbound socket remaining unbound. >> >> This doesn't cause a problem because [DoSendTo][2] (which is >> ultimately called by DoSend) ensures that the socket is bound. >> >> Should InetSocketAddress::IsMatchingType (m_defaultAddress) be >> changed >> to Ipv4Address::IsMatchingType (m_defaultAddress), or am i just being >> too picky? >> >> As an aside, the checks carried out by DoSend, before calling >> DoSendTo, are also carried by the two versions of DoSendTo. > > It seems to me that lines 361-378 could be safely deleted, since as you > mentioned, these checks will be performed later. > > - Tom Please find the corresponding patch attached to this mail. Release: ns-3-dev Filename: src/internet/model/udp-socket-impl.cc http://code.nsnam.org/ns-3-dev/file/b1f287b36ff7/src/internet/model/udp-socket-impl.cc Description: Removed redundant checks in UdpSocketImpl::DoSend. Notes: The following checks are performed elsewhere: - m_destAddress is an Ipv4Address/Ipv6Address in DoSendTo (Ptr<Packet> , const Address ) at line 419/423 - Socket is bound (m_endPoint != 0) in DoSendTo (Ptr<Packet> , Ipv4Address , uint16_t ) at line 440 - The connection has not been closed for sending (m_shutdownSend == false) in DoSendTo (Ptr<Packet> , Ipv4Address , uint16_t ) at line 449 Feedback is always welcome :) Thank You. -- Regards, Ashim Ghosh :) -------------- next part -------------- A non-text attachment was scrubbed... Name: udp-socket-impl.patch Type: application/octet-stream Size: 1578 bytes Desc: not available Url : http://mailman.isi.edu/pipermail/ns-developers/attachments/20120616/6f07e851/udp-socket-impl.obj From mudit.raaj.gupta at gmail.com Sat Jun 16 12:45:24 2012 From: mudit.raaj.gupta at gmail.com (Mudit Gupta) Date: Sun, 17 Jun 2012 01:15:24 +0530 Subject: [Ns-developers] GSoC Weekly Report - HLA interfaces for ns-3 Message-ID: <CAKGqXFUHa0JJ2gCfu1vzkP6RS7zcAwVQBO4oZOmauMhrWADQ2A@mail.gmail.com> Hello Everyone, Thing week I worked on the following: 1. Completed work on writing ns3Federate and ns3FederateAmbassador in JAVA using portico 2. Wrote a test by creating a dummy federate and sharing object between the two federates and changing attributes 3. Wrote a test for checking socket implementation 4. Wrote supporting scripts and documents Next Week, I will try to implement a simple Random Walk Example in the example Federate and also make ns3 respond accurately. Best Regards, Mudit Raj Gupta From q5frc at unb.ca Sun Jun 17 21:02:59 2012 From: q5frc at unb.ca (Dizhi Zhou) Date: Mon, 18 Jun 2012 01:02:59 -0300 Subject: [Ns-developers] Weekly Progress -- GSoC LTE MAC scheduler Message-ID: <4FDEA873.10208@unb.ca> Dear all, Here is my weekly progress on GSoC LTE MAC scheduler project:* *1, complete* *TTA scheduler, including code, testing and documentation 2, complete TD-BET and test it in the same SINR testcase. 3, complete design document of FD-BET Plan in next week: 1, complete TD-BET and FD-BET 2, summary the work on MT, TTA and BET scheduler and discuss further development with mentors Best regards Dizhi -- Dizhi Zhou Ph.D. Candidate Faculty of Computer Science University of New Brunswick 540 Windsor Street Fredericton,New Brunswick,Canada E3B 5A3 E. q5frc at unb.ca Homepage: www.cs.unb.ca/~q5frc/ From tomh at tomh.org Sun Jun 17 22:13:08 2012 From: tomh at tomh.org (Tom Henderson) Date: Sun, 17 Jun 2012 22:13:08 -0700 Subject: [Ns-developers] ns-3.15 planning Message-ID: <4FDEB8E4.8040702@tomh.org> I would like to schedule the ns-3.15 release for August 15. I've started to put together a schedule and a list of pending items that have rolled over since the last release or have come in since then: http://www.nsnam.org/wiki/index.php/Ns-3.15 Please, if you would like to try to get something into the next release, and you do not see it on the list or the tracker, please add it or contact me. If anyone would like to help with this or a future release, please contact me. - Tom From tomh at tomh.org Sun Jun 17 22:21:47 2012 From: tomh at tomh.org (Tom Henderson) Date: Sun, 17 Jun 2012 22:21:47 -0700 Subject: [Ns-developers] random variable changes proposed Message-ID: <4FDEBAEB.20706@tomh.org> Last November, we started to discuss but never finalized some changes to the random variable classes in ns-3: http://mailman.isi.edu/pipermail/ns-developers/2011-November/009583.html Since that time, some supporting code was merged to ns-3-dev, but we never merged the main code for this. At the March developers meeting, Mathieu suggested to split the patch into two phases: 1) the new random variable implementation (doesn't change the existing API or models), and 2) changes to the models and helpers. I did not move forward on 1) at the time since it got too close to the release date. I'd like to propose merging this for ns-3.15. I've posted a fresh patch for 1) at the following review URL: http://codereview.appspot.com/6305104/ If anyone is interested in reviewing this again, please do so in the next week or so, or request more time. Meanwhile, we have some additional work to do to create one or more patchsets for the models themselves. - Tom From juanantonio at um.es Mon Jun 18 01:12:08 2012 From: juanantonio at um.es (=?ISO-8859-1?Q?Juan_Antonio_Mart=EDnez_Navarro?=) Date: Mon, 18 Jun 2012 10:12:08 +0200 Subject: [Ns-developers] ns3 question developing a new routing protocol Message-ID: <4FDEE2D8.2040304@um.es> Hello, I've had to develop a simple routing protocol for ns3. So, I created a class that inherites from Ipv4RoutingProtocol. According to the Ipv4RoutingProtocol, several methods like RouteInput and RouteOutput have to be overwritten. When I use an application upon this protocol, I thought that the packet sent from the application should be caught at RouteOutput before leaving the node. However, after debugging the process the RouteOutput method is not invoked as the packet passes through the ip stack. On the other hand, within the routing protocol I've defined the exchange of periodic messages. These messages are created within the routing protocol and, unlike the previous message from the application, with these messages, the RouteOutput method is invoked. I have tested both the routing protocol and the application with only two nodes. How does the routing protocol know that the application is sending a data packet? Kind regards, Juan Antonio -------------- next part -------------- A non-text attachment was scrubbed... Name: juanantonio.vcf Type: text/x-vcard Size: 494 bytes Desc: not available Url : http://mailman.isi.edu/pipermail/ns-developers/attachments/20120618/44b5b63b/juanantonio.vcf From tomh at tomh.org Mon Jun 18 10:55:53 2012 From: tomh at tomh.org (Tom Henderson) Date: Mon, 18 Jun 2012 11:55:53 -0600 Subject: [Ns-developers] ns3 question developing a new routing protocol In-Reply-To: <4FDEE2D8.2040304@um.es> References: <4FDEE2D8.2040304@um.es> Message-ID: <0687de1ebd4fe1bc3d9e8b4d56053ff6@tomh.org> On 2012-06-18 02:12, Juan Antonio Mart?nez Navarro wrote: > Hello, > > I've had to develop a simple routing protocol for ns3. So, I created > a class that inherites from Ipv4RoutingProtocol. > > According to the Ipv4RoutingProtocol, several methods like RouteInput > and RouteOutput have to be overwritten. > > When I use an application upon this protocol, I thought that the > packet sent from the application should be caught at RouteOutput > before leaving the node. However, after debugging the process the > RouteOutput method is not invoked as the packet passes through the ip > stack. > > On the other hand, within the routing protocol I've defined the > exchange of periodic messages. These messages are created within the > routing protocol and, unlike the previous message from the > application, with these messages, the RouteOutput method is invoked. > > I have tested both the routing protocol and the application with only > two nodes. > > How does the routing protocol know that the application is sending a > data packet? I don't know, from the description above, what circumstances would cause this behavior, such that your routing protocol sees its own packets at RouteOutput() but other applications do not call into the same RouteOutput(). I would suggest to set a breakpoint at the point in the transport protocol (e.g. UdpSocketImpl::DoSendTo) where RouteOutput is expected to be called by the application, and then set a breakpoint also in the routing protocol (either ListRouting::RouteOutput or your protocol's RouteOutput if you are not using ListRouting) and see what happens. - Tom From tpecorella at mac.com Mon Jun 18 15:01:23 2012 From: tpecorella at mac.com (Tommaso Pecorella) Date: Mon, 18 Jun 2012 22:01:23 +0000 (GMT) Subject: [Ns-developers] ns3 question developing a new routing protocol In-Reply-To: <0687de1ebd4fe1bc3d9e8b4d56053ff6@tomh.org> Message-ID: <97be2088-fccc-caa3-e522-cc280be5eb8b@me.com> Hi, my best guess is that you forgot to add your protocol to the IP stack. Check?InternetStackHelper::SetRoutingHelper(). Another guess is that you used the ListRouting and something is happening before your own RouteOutput is called. Mind that if no routing protocol is defined you should receive an error upon receiving a packet, so if you don't have any error you should have a routing protocol already installed... maybe the default one. Hope it helps. Cheers, T. On 18 Jun, 2012,at 07:55 PM, Tom Henderson <tomh at tomh.org> wrote: On 2012-06-18 02:12, Juan Antonio Mart?nez Navarro wrote: > Hello, > > I've had to develop a simple routing protocol for ns3. So, I created > a class that inherites from Ipv4RoutingProtocol. > > According to the Ipv4RoutingProtocol, several methods like RouteInput > and RouteOutput have to be overwritten. > > When I use an application upon this protocol, I thought that the > packet sent from the application should be caught at RouteOutput > before leaving the node. However, after debugging the process the > RouteOutput method is not invoked as the packet passes through the ip > stack. > > On the other hand, within the routing protocol I've defined the > exchange of periodic messages. These messages are created within the > routing protocol and, unlike the previous message from the > application, with these messages, the RouteOutput method is invoked. > > I have tested both the routing protocol and the application with only > two nodes. > > How does the routing protocol know that the application is sending a > data packet? I don't know, from the description above, what circumstances would cause this behavior, such that your routing protocol sees its own packets at RouteOutput() but other applications do not call into the same RouteOutput(). I would suggest to set a breakpoint at the point in the transport protocol (e.g. UdpSocketImpl::DoSendTo) where RouteOutput is expected to be called by the application, and then set a breakpoint also in the routing protocol (either ListRouting::RouteOutput or your protocol's RouteOutput if you are not using ListRouting) and see what happens. - Tom From juanantonio at um.es Wed Jun 20 01:30:21 2012 From: juanantonio at um.es (=?ISO-8859-1?Q?Juan_Antonio_Mart=EDnez_Navarro?=) Date: Wed, 20 Jun 2012 10:30:21 +0200 Subject: [Ns-developers] ns3 question developing a new routing protocol In-Reply-To: <97be2088-fccc-caa3-e522-cc280be5eb8b@me.com> References: <97be2088-fccc-caa3-e522-cc280be5eb8b@me.com> Message-ID: <4FE18A1D.404@um.es> Hello, Thank you Tom and Tommaso. I set a breakpoint as Tom suggested but I could not identify the problem. So I've simplified the scenario to reduce the noise caused by unnecesary parameters and the likes. Now I'm starting to compare the behavior of my simple protocol and aodv and it seems that now RouteOutput is invoked. Thank you again. Kind regards, Juan Antonio On 19/06/12 00:01, Tommaso Pecorella wrote: > Hi, > > my best guess is that you forgot to add your protocol to the IP stack. > Check InternetStackHelper::SetRoutingHelper(). > > Another guess is that you used the ListRouting and something is > happening before your own RouteOutput is called. > > Mind that if no routing protocol is defined you should receive an > error upon receiving a packet, so if you don't have any error you > should have a routing protocol already installed... maybe the default > one. > > Hope it helps. > > Cheers, > > T. > > > > > On 18 Jun, 2012,at 07:55 PM, Tom Henderson <tomh at tomh.org> wrote: > > On 2012-06-18 02:12, Juan Antonio Mart?nez Navarro wrote: >> Hello, >> >> I've had to develop a simple routing protocol for ns3. So, I created >> a class that inherites from Ipv4RoutingProtocol. >> >> According to the Ipv4RoutingProtocol, several methods like RouteInput >> and RouteOutput have to be overwritten. >> >> When I use an application upon this protocol, I thought that the >> packet sent from the application should be caught at RouteOutput >> before leaving the node. However, after debugging the process the >> RouteOutput method is not invoked as the packet passes through the ip >> stack. >> >> On the other hand, within the routing protocol I've defined the >> exchange of periodic messages. These messages are created within the >> routing protocol and, unlike the previous message from the >> application, with these messages, the RouteOutput method is invoked. >> >> I have tested both the routing protocol and the application with only >> two nodes. >> >> How does the routing protocol know that the application is sending a >> data packet? > > I don't know, from the description above, what circumstances would > cause this behavior, such that your routing protocol sees its own > packets at RouteOutput() but other applications do not call into the > same RouteOutput(). I would suggest to set a breakpoint at the point > in the transport protocol (e.g. UdpSocketImpl::DoSendTo) where > RouteOutput is expected to be called by the application, and then set > a breakpoint also in the routing protocol (either > ListRouting::RouteOutput or your protocol's RouteOutput if you are not > using ListRouting) and see what happens. > > - Tom > -------------- next part -------------- A non-text attachment was scrubbed... Name: juanantonio.vcf Type: text/x-vcard Size: 494 bytes Desc: not available Url : http://mailman.isi.edu/pipermail/ns-developers/attachments/20120620/2e17e362/juanantonio.vcf From tomh at tomh.org Wed Jun 20 06:05:07 2012 From: tomh at tomh.org (Tom Henderson) Date: Wed, 20 Jun 2012 06:05:07 -0700 Subject: [Ns-developers] checksum error sending multicast in ubuntu precise In-Reply-To: <4FD74D69.9000004@bbn.com> References: <4FD74D69.9000004@bbn.com> Message-ID: <4FE1CA83.6050902@tomh.org> On 06/12/2012 07:08 AM, William Dron wrote: > Using EmuNet devices, I'm getting UDP checksum errors when I send > multicast packets through the emu net with Ubuntu precise (12.04), has > anyone else had this problem? I've tested with ns-3.13 and ns-3.14.1. My > other machine is running Ubuntu maverick (10.10) and does not have this > problem. I posted bug 1459 to track this reported problem: https://www.nsnam.org/bugzilla/show_bug.cgi?id=1459 From kuldip237 at gmail.com Thu Jun 21 00:13:08 2012 From: kuldip237 at gmail.com (Kuldeep Singh) Date: Thu, 21 Jun 2012 12:43:08 +0530 Subject: [Ns-developers] method doesn't exist Message-ID: <CAB6uTL9jV97Y0zqzhoBwbpKx9oc4uHryiikMM64AG5rWZuvVGw@mail.gmail.com> Hi everyone, I'm studying following link:- http://www.nsnam.org/docs/release/3.14/doxygen/classns3_1_1_wifi_phy_listener.html#af4c85874e4b351216c08ff90ca5c0e95 It says:- " It means that we will report a BUSY status until one of the following happens: - NotifyRxEndOk - *NotifyExEndError* - NotifyTxStart " but method "NotifyExEndError" (second bullet option) does not exist. please let me know whether it is spelling-error or method is defined somewhere else. Thanks, Kuldeep From nbaldo at cttc.es Thu Jun 21 04:04:05 2012 From: nbaldo at cttc.es (Nicola Baldo) Date: Thu, 21 Jun 2012 13:04:05 +0200 Subject: [Ns-developers] method doesn't exist In-Reply-To: <CAB6uTL9jV97Y0zqzhoBwbpKx9oc4uHryiikMM64AG5rWZuvVGw@mail.gmail.com> References: <CAB6uTL9jV97Y0zqzhoBwbpKx9oc4uHryiikMM64AG5rWZuvVGw@mail.gmail.com> Message-ID: <4FE2FFA5.9010703@cttc.es> Hi Kuldeep, On 06/21/2012 09:13 AM, Kuldeep Singh wrote: > I'm studying following link:- > > http://www.nsnam.org/docs/release/3.14/doxygen/classns3_1_1_wifi_phy_listener.html#af4c85874e4b351216c08ff90ca5c0e95 > > It says:- > > " > It means that we will report a BUSY status until one of the following > happens: > > - NotifyRxEndOk > - *NotifyExEndError* > - NotifyTxStart > " > > but method "NotifyExEndError" (second bullet option) does not exist. > > please let me know whether it is spelling-error or method is defined > somewhere else. It's just a typo in the doxygen, the correct name of the event is "NotifyRxEndError". I just fixed it in changeset 743aeb2fef78. Regards, Nicola From barnes26 at llnl.gov Thu Jun 21 12:49:42 2012 From: barnes26 at llnl.gov (Barnes, Peter D.) Date: Thu, 21 Jun 2012 12:49:42 -0700 Subject: [Ns-developers] Docs formatting Message-ID: <E5F3F4AE-138D-4D04-B0A0-B0B05B93881F@llnl.gov> Hello Folks, Trying to avoid hard work, I played with the Doxygen and Sphinx colors and layout to give a look more like the homepage. You can see the results by following the links here: http://www.nsnam.org/~pdbarnes/index.html Please try them out, let me know of any breakage. One potential downside is I grabbed a more recent Sphinx, 1.1.2. nsnam has 1.0.8, which crashes with the new layout. I haven't investigated how to be compatible with an older version; that would require first figuring out how to revert Sphinx on my system (hints welcome). So you'd have to update to build new documentation in your own repos. Peter _______________________________________________________________________ Dr. Peter D. Barnes, Jr. Physics Division Lawrence Livermore National Laboratory Physical and Life Sciences 7000 East Avenue, L-50 email: pdbarnes at llnl.gov P. O. Box 808 Voice: (925) 422-3384 Livermore, California 94550 Fax: (925) 423-3371 From rivanvx at gmail.com Thu Jun 21 13:06:21 2012 From: rivanvx at gmail.com (=?UTF-8?Q?Vedran_Mileti=C4=87?=) Date: Thu, 21 Jun 2012 22:06:21 +0200 Subject: [Ns-developers] Docs formatting In-Reply-To: <E5F3F4AE-138D-4D04-B0A0-B0B05B93881F@llnl.gov> References: <E5F3F4AE-138D-4D04-B0A0-B0B05B93881F@llnl.gov> Message-ID: <CA+oUA22KuuMFzRpqxbecp24bfd-cPLckvhk8HK8gWCQYsFPTYQ@mail.gmail.com> 2012/6/21 Barnes, Peter D. <barnes26 at llnl.gov>: > Hello Folks, > > Trying to avoid hard work, I played with the Doxygen and Sphinx colors and layout to give a look more like the homepage. ?You can see the results by following the links here: > > http://www.nsnam.org/~pdbarnes/index.html > > Please try them out, let me know of any breakage. This looks awesome. > One potential downside is I grabbed a more recent Sphinx, 1.1.2. ?nsnam has 1.0.8, which crashes with the new layout. ?I haven't investigated how to be compatible with an older version; that would require first figuring out how to revert Sphinx on my system (hints welcome). ?So you'd have to update to build new documentation in your own repos. Perhaps it can be upgraded somehow. Regards, Vedran From dvardali at ee.duth.gr Thu Jun 21 06:00:25 2012 From: dvardali at ee.duth.gr (Dimitris Vardalis) Date: Thu, 21 Jun 2012 16:00:25 +0300 Subject: [Ns-developers] DTN Agent for ns-2 Message-ID: <eff48d8502a1d897a0c6948b72ada58f@webmail.duth.gr> Hello everyone, I have developed a basic version of a DTN Agent implementing the Bundle Protocol in ns-2. Details can be found at http://www.spice-center.org/dtn-agent/. I thought of announcing it here just in case any fellow ns-2 developers are interested so I could get some feedback. I was also wondering if you could add a link to the contributed code page. The agent sits on top of the TCP layer and for now it assumes a static network topology. It deals with issues such as bundle fragmentation, retransmission, custody reporting, and basic routing. Comments and suggestions regarding the architecture/implementation of the model are very welcome. Thank you in advance, Dimitris Vardalis From perrone at bucknell.edu Thu Jun 21 16:52:26 2012 From: perrone at bucknell.edu (Luiz Felipe Perrone) Date: Thu, 21 Jun 2012 19:52:26 -0400 Subject: [Ns-developers] Docs formatting In-Reply-To: <CA+oUA22KuuMFzRpqxbecp24bfd-cPLckvhk8HK8gWCQYsFPTYQ@mail.gmail.com> References: <E5F3F4AE-138D-4D04-B0A0-B0B05B93881F@llnl.gov> <CA+oUA22KuuMFzRpqxbecp24bfd-cPLckvhk8HK8gWCQYsFPTYQ@mail.gmail.com> Message-ID: <C93A710F-3B35-4EAF-847A-CA05E7ADC93F@bucknell.edu> Hi Peter, I'll second what Vedran said. The design and color scheme are very tasteful and well integrated with the web site. Hopefully it wouldn't be much trouble to upgrade Sphinx on nsnam. Best, Felipe ------------------------------------------------------------ Luiz Felipe Perrone, Associate Professor Dept. of Computer Science, Breakiron 68 Bucknell University, Lewisburg, PA 17837 Voice: +1-570-577-1687 Fax: +1-570-577-1258 Skype: luiz.felipe.perrone Web: http://www.eg.bucknell.edu/~perrone/ On Jun 21, 2012, at 4 :06 PM, Vedran Mileti? wrote: > 2012/6/21 Barnes, Peter D. <barnes26 at llnl.gov>: >> Hello Folks, >> >> Trying to avoid hard work, I played with the Doxygen and Sphinx colors and layout to give a look more like the homepage. You can see the results by following the links here: >> >> http://www.nsnam.org/~pdbarnes/index.html >> >> Please try them out, let me know of any breakage. > > This looks awesome. > >> One potential downside is I grabbed a more recent Sphinx, 1.1.2. nsnam has 1.0.8, which crashes with the new layout. I haven't investigated how to be compatible with an older version; that would require first figuring out how to revert Sphinx on my system (hints welcome). So you'd have to update to build new documentation in your own repos. > > Perhaps it can be upgraded somehow. > > Regards, > > Vedran > From tomh at tomh.org Thu Jun 21 21:55:44 2012 From: tomh at tomh.org (Tom Henderson) Date: Thu, 21 Jun 2012 21:55:44 -0700 Subject: [Ns-developers] Docs formatting In-Reply-To: <CA+oUA22KuuMFzRpqxbecp24bfd-cPLckvhk8HK8gWCQYsFPTYQ@mail.gmail.com> References: <E5F3F4AE-138D-4D04-B0A0-B0B05B93881F@llnl.gov> <CA+oUA22KuuMFzRpqxbecp24bfd-cPLckvhk8HK8gWCQYsFPTYQ@mail.gmail.com> Message-ID: <4FE3FAD0.3000702@tomh.org> >> One potential downside is I grabbed a more recent Sphinx, 1.1.2. >> nsnam has 1.0.8, which crashes with the new layout. I haven't >> investigated how to be compatible with an older version; that would >> require first figuring out how to revert Sphinx on my system (hints >> welcome). So you'd have to update to build new documentation in >> your own repos. > > Perhaps it can be upgraded somehow. Yes, it can be upgraded, and it seems that it is straightforward for documentation developers to upgrade themselves using easy_install if needed (Sphinx stable release is up to 1.1.3 now). Thanks Peter! - Tom From tomh at tomh.org Fri Jun 22 10:04:14 2012 From: tomh at tomh.org (Tom Henderson) Date: Fri, 22 Jun 2012 10:04:14 -0700 Subject: [Ns-developers] Docs formatting In-Reply-To: <4FE3FAD0.3000702@tomh.org> References: <E5F3F4AE-138D-4D04-B0A0-B0B05B93881F@llnl.gov> <CA+oUA22KuuMFzRpqxbecp24bfd-cPLckvhk8HK8gWCQYsFPTYQ@mail.gmail.com> <4FE3FAD0.3000702@tomh.org> Message-ID: <4FE4A58E.5090705@tomh.org> On 06/21/2012 09:55 PM, Tom Henderson wrote: > > > Yes, it can be upgraded, and it seems that it is straightforward for > documentation developers to upgrade themselves using easy_install if > needed (Sphinx stable release is up to 1.1.3 now). > I upgraded the server to Sphinx 1.1.3 and I updated the wiki Installation notes to clarify that Sphinx >= 1.1.2 is required for ns-3.15. It seems that Ubuntu 12.04 and Fedora 17 support at least this version. - Tom From q5frc at unb.ca Sun Jun 24 19:21:03 2012 From: q5frc at unb.ca (Dizhi Zhou) Date: Mon, 25 Jun 2012 02:21:03 +0000 Subject: [Ns-developers] Weekly Report -- GSoC LTE MAC scheduler Message-ID: <A8890DB7CDC056479065607EB973C53C0C5578FC@BL2PRD0410MB373.namprd04.prod.outlook.com> Dear all, Here is my weekly progress on GSoC LTE MAC scheduler project: Done: 1, complete TD-BET coding and testing 2, complete FD-BET coding and testing Plan in next week: 1, complete doc of TD-BET and FD-BET 2, update testcase for MT and TTA Regards Dizhi -- Dizhi Zhou Ph.D. Candidate Faculty of Computer Science University of New Brunswick 540 Windsor Street Fredericton,New Brunswick,Canada E3B 5A3 E. q5frc at unb.ca<http://mailman.isi.edu/mailman/listinfo/ns-developers> Homepage: www.cs.unb.ca/~q5frc/ From tomh at tomh.org Mon Jun 25 06:42:52 2012 From: tomh at tomh.org (Tom Henderson) Date: Mon, 25 Jun 2012 06:42:52 -0700 Subject: [Ns-developers] DTN Agent for ns-2 In-Reply-To: <eff48d8502a1d897a0c6948b72ada58f@webmail.duth.gr> References: <eff48d8502a1d897a0c6948b72ada58f@webmail.duth.gr> Message-ID: <4FE86ADC.3020407@tomh.org> On 06/21/2012 06:00 AM, Dimitris Vardalis wrote: > Hello everyone, > > I have developed a basic version of a DTN Agent implementing the Bundle > Protocol in ns-2. Details can be found at > http://www.spice-center.org/dtn-agent/. I thought of announcing it here > just in case any fellow ns-2 developers are interested so I could get > some feedback. I was also wondering if you could add a link to the > contributed code page. > The agent sits on top of the TCP layer and for now it assumes a static > network topology. It deals with issues such as bundle fragmentation, > retransmission, custody reporting, and basic routing. Comments and > suggestions regarding the architecture/implementation of the model are > very welcome. > > Thank you in advance, > Dimitris Vardalis Dimitris, thanks for the announcement. I put a link here: http://nsnam.isi.edu/nsnam/index.php/Contributed_Code#Delay_Tolerant_Networking_.28DTN.29 You may also want to list it on the DTN wiki: http://www.dtnrg.org/wiki/Code - Tom From mudit.raaj.gupta at gmail.com Mon Jun 25 11:23:58 2012 From: mudit.raaj.gupta at gmail.com (Mudit Gupta) Date: Mon, 25 Jun 2012 23:53:58 +0530 Subject: [Ns-developers] GSOC 2012: WEEKLY REPORT - HLA INTERFACES FOR NS3 In-Reply-To: <CAEKM59yJLB8KAdbVwVm3SQGYVfUumYmQJyzFCcc8w3O-w6gS6A@mail.gmail.com> References: <CAEKM59yJLB8KAdbVwVm3SQGYVfUumYmQJyzFCcc8w3O-w6gS6A@mail.gmail.com> Message-ID: <CAKGqXFUT274dXwDzegR=hagwZ7bb_p3p-+iKra=WgcLQCq8U7g@mail.gmail.com> Hello everyone, This week i worked on the following: 1. Integrating the server code to one of the NS3 examples. 2. Testing and debugging of the entire code. Finally, an external federate is communicating with NS3 by publishing objects and modifying attributes through the RTI. :) Next week I will be working on time synchronization on the 2 federates. Best Regards, Mudit Raj Gupta. From intutivestriker88 at gmail.com Tue Jun 26 17:05:21 2012 From: intutivestriker88 at gmail.com (V.Sindhuja) Date: Tue, 26 Jun 2012 20:05:21 -0400 Subject: [Ns-developers] GSOC Project Weekly Report - Network Address and Port Translation (NAT) models Message-ID: <CAHquBzuc9sAirpjUE7pcNCg2J6R6pL4=5i4Tw97aYF1anGo9_w@mail.gmail.com> Hello Everyone, I apologize for the delayed mail. Here is the report of the work done last week on the project. - Stepped through the existing code base from 2009 to see the changes that need to be made for porting. - Ported code for callbacks and basic netfilter framework - Tested the code with three node example - Ported partially the connection tracking part of the code - Started work on Example for the conntrack part. Goals for coming week: - Port the code over completely - Build examples for all the send case scenarios(only case 3 tested now) - Build tests for the above as well - Work on documentation for the work. -- Thanks and Regards, Sindhuja Venkatesh Graduate Student, Department of CSE, University at Buffalo, SUNY. From tazaki at sfc.wide.ad.jp Tue Jun 26 19:15:03 2012 From: tazaki at sfc.wide.ad.jp (Hajime Tazaki) Date: Wed, 27 Jun 2012 11:15:03 +0900 Subject: [Ns-developers] Quagga support on ns-3-dce Message-ID: <m2wr2to5zs.wl@sfc.wide.ad.jp> Hi all, I have updated the DCE quagga integration. http://code.nsnam.org/thehajime/ns-3-dce-quagga For the starter, you can take a look the manual. http://www.nsnam.org/~thehajime/ns-3-dce-quagga/index.html This dce-quagga repository includes all the protocols' example and helper of quagga: now RIPv1v2/RIPng, OSPFv2/v3, BGP/BGP+, and Rtadvd are runnable on ns-3-dce with Linux native stack (ns-3-linux). With ns-3 network stack, it only supports OSPFv2 and BGP (IPv4) because of a bunch of emulations (i.e., sockopt, cmsg:pktinfo) are not implemented yet. You can take a look the current status of supported protocols. http://www.nsnam.org/~thehajime/ns-3-dce-quagga/getting-started.html#current-status-2012-4-23 Base version: Quagga 0.99.20 (Thanks to Alexander Afanasyev) Any comments, suggestions, and feature requests are of course welcome! # I will publish UMIP (Mobile IPv6 and its children) support soon. regards, hajime From dvardali at ee.duth.gr Wed Jun 27 05:12:47 2012 From: dvardali at ee.duth.gr (Dimitrios Vardalis) Date: Wed, 27 Jun 2012 15:12:47 +0300 Subject: [Ns-developers] DTN Agent for ns-2 In-Reply-To: <4FE86ADC.3020407@tomh.org> References: <eff48d8502a1d897a0c6948b72ada58f@webmail.duth.gr> <4FE86ADC.3020407@tomh.org> Message-ID: <047fa0a95ec4b55cce5c52bee26ca6bf@webmail.duth.gr> On Mon, 25 Jun 2012 06:42:52 -0700, Tom Henderson wrote: > On 06/21/2012 06:00 AM, Dimitris Vardalis wrote: >> Hello everyone, >> >> I have developed a basic version of a DTN Agent implementing the >> Bundle >> Protocol in ns-2. Details can be found at >> http://www.spice-center.org/dtn-agent/. I thought of announcing it >> here >> just in case any fellow ns-2 developers are interested so I could >> get >> some feedback. I was also wondering if you could add a link to the >> contributed code page. >> The agent sits on top of the TCP layer and for now it assumes a >> static >> network topology. It deals with issues such as bundle fragmentation, >> retransmission, custody reporting, and basic routing. Comments and >> suggestions regarding the architecture/implementation of the model >> are >> very welcome. >> >> Thank you in advance, >> Dimitris Vardalis > > Dimitris, thanks for the announcement. I put a link here: > > http://nsnam.isi.edu/nsnam/index.php/Contributed_Code#Delay_Tolerant_Networking_.28DTN.29 > > You may also want to list it on the DTN wiki: > http://www.dtnrg.org/wiki/Code > > - Tom Tom, Thanks! The ns-2 version the code is tested on is 2.35, in case you want to add this info to the page. Dimitris From dvardali at ee.duth.gr Wed Jun 27 05:27:36 2012 From: dvardali at ee.duth.gr (Dimitrios Vardalis) Date: Wed, 27 Jun 2012 15:27:36 +0300 Subject: [Ns-developers] DTN Agent for ns-2 In-Reply-To: <CC0DCE84.3FF36%kfall@cs.berkeley.edu> References: <CC0DCE84.3FF36%kfall@cs.berkeley.edu> Message-ID: <645ae7592977900770e1a3acc628c751@webmail.duth.gr> Dear Kevin, Thank you for the hint, I' ll make sure to share it with the dtn-interest list. For now only TCP is supported, but I am planning on adding UDP as a convergence layer as well. I presume that the implementation will be simpler for a UDP version, but at the moment I have no solid idea of how it would work. Currently, my main priority is to generalize the routing scheme and make the agent applicable to a wider range of scenarios. Best regards, Dimitris Vardalis On Mon, 25 Jun 2012 08:17:59 -0700, Kevin Fall wrote: > Yes, please share with the dtn-interest list if you haven't already > done > so. > Also, does it only work with TCP as the convergence layer protocol? > > Thx > - K (DTNRG co-chair) > > On 6/25/12 6:42 AM PDT, "Tom Henderson" <tomh at tomh.org> wrote: > >>On 06/21/2012 06:00 AM, Dimitris Vardalis wrote: >>> Hello everyone, >>> >>> I have developed a basic version of a DTN Agent implementing the >>> Bundle >>> Protocol in ns-2. Details can be found at >>> http://www.spice-center.org/dtn-agent/. I thought of announcing it >>> here >>> just in case any fellow ns-2 developers are interested so I could >>> get >>> some feedback. I was also wondering if you could add a link to the >>> contributed code page. >>> The agent sits on top of the TCP layer and for now it assumes a >>> static >>> network topology. It deals with issues such as bundle >>> fragmentation, >>> retransmission, custody reporting, and basic routing. Comments and >>> suggestions regarding the architecture/implementation of the model >>> are >>> very welcome. >>> >>> Thank you in advance, >>> Dimitris Vardalis >> >>Dimitris, thanks for the announcement. I put a link here: >>http://nsnam.isi.edu/nsnam/index.php/Contributed_Code#Delay_Tolerant_Netwo >>rking_.28DTN.29 >> >>You may also want to list it on the DTN wiki: >>http://www.dtnrg.org/wiki/Code >> >>- Tom From tadeu1 at gmail.com Wed Jun 27 18:05:55 2012 From: tadeu1 at gmail.com (Tadeu Martins) Date: Wed, 27 Jun 2012 22:05:55 -0300 Subject: [Ns-developers] Possible bug: problems with grid configuration in a mesh simulation Message-ID: <CANCtAjb4sOvwQaWtqFRNEU=5Z3TgkHTpz5k9Z4qOiY-AF_8puA@mail.gmail.com> Hi all, I am forwarding a message I sent to the ns-3-users mailing list, with no reply. It is about a problem with the example mesh simulation that is distributed with ns-3. I tested it for version 3.11 and 3.14.1; the problem occurs with both of them. Please notice (at the diff) that no sensible changes, other than IPv4 packet capture, are made regarding the stock implementation. The 'wc -l' outputs are useful to verify if there is traffic between the source and the destination. Also, I gently ask you to include me in the further messages, since I don't subscribe to the list. Best Regards, ----- Forwarded message from Tadeu Martins <tadeu1 at gmail.com> ----- Date: Wed, 13 Jun 2012 05:36:52 -0700 (PDT) From: Tadeu Martins <tadeu1 at gmail.com> To: ns-3-users at googlegroups.com Subject: Problems with grid configuration in a mesh simulation Hi, I am researching some adaptations to HWMP protocol, and I intend to simulate them with ns-3. I am trying to execute the default mesh simulation (src/mesh/examples/mesh.cc) with some changes: one of them is pcap capture for level 3. There comes the problem: no traffic can be seen between the nodes. The capture has only the packages sent by the echo client. If I change the simulation and declare a fixed client node (8 instead of m_xSize*m_ySize-1, for example, and run the simulation of a 4x4 grid, the communication between client and server can be seen in the capture. The default configuration is a 3x3 grid; 3x4 does not work; 4x3 work. Is there an expected reason for that? I can't see none, but I may be overlooking something. I am pasting the diff below (the modifications are too few so I don't think it's worth attaching a patch), along with the results. % $ diff scratch/mesh-original/mesh.cc src/mesh/examples/mesh.cc 195c195 < ? ? wifiPhy.EnablePcapAll (std::string ("mp-l2-")); --- > ? ? wifiPhy.EnablePcapAll (std::string ("mp-")); 205,206d204 < ? if (m_pcap) < ? ? internetStack.EnablePcapIpv4All (std::string ("mp-l3-")); 211c209 < ? UdpEchoServerHelper echoServer (7); --- > ? UdpEchoServerHelper echoServer (9); 215c213 < ? UdpEchoClientHelper echoClient (interfaces.GetAddress (0), 7); --- > ? UdpEchoClientHelper echoClient (interfaces.GetAddress (0), 9); 219c217 < ? ApplicationContainer clientApps = echoClient.Install (nodes.Get (8));//(m_xSize*m_ySize-1)); --- > ? ApplicationContainer clientApps = echoClient.Install (nodes.Get (m_xSize*m_ySize-1)); $ ./waf --run 'mesh-original --pcap=1 --x-size=3 --y-size=3' >& /dev/null && wc -c mp-l3*.pcap && rm *.{pcap,xml} # does not work ? ?24 mp-l3--n0-i0.pcap ? ?24 mp-l3--n0-i1.pcap ? ?24 mp-l3--n1-i0.pcap ? ?24 mp-l3--n1-i1.pcap ? ?24 mp-l3--n2-i0.pcap ? ?24 mp-l3--n2-i1.pcap ? ?24 mp-l3--n3-i0.pcap ? ?24 mp-l3--n3-i1.pcap ? ?24 mp-l3--n4-i0.pcap ? ?24 mp-l3--n4-i1.pcap ? ?24 mp-l3--n5-i0.pcap ? ?24 mp-l3--n5-i1.pcap ? ?24 mp-l3--n6-i0.pcap ? ?24 mp-l3--n6-i1.pcap ? ?24 mp-l3--n7-i0.pcap ? ?24 mp-l3--n7-i1.pcap ? ?24 mp-l3--n8-i0.pcap 1068024 mp-l3--n8-i1.pcap 1068432 total $ ./waf --run 'mesh-original --pcap=1 --x-size=3 --y-size=4' >& /dev/null && wc -c mp-l3*.pcap && rm *.{pcap,xml} # does not work ? ?24 mp-l3--n0-i0.pcap ? ?24 mp-l3--n0-i1.pcap ? ?24 mp-l3--n10-i0.pcap ? ?24 mp-l3--n10-i1.pcap ? ?24 mp-l3--n11-i0.pcap ? ?24 mp-l3--n11-i1.pcap ? ?24 mp-l3--n1-i0.pcap ? ?24 mp-l3--n1-i1.pcap ? ?24 mp-l3--n2-i0.pcap ? ?24 mp-l3--n2-i1.pcap ? ?24 mp-l3--n3-i0.pcap ? ?24 mp-l3--n3-i1.pcap ? ?24 mp-l3--n4-i0.pcap ? ?24 mp-l3--n4-i1.pcap ? ?24 mp-l3--n5-i0.pcap ? ?24 mp-l3--n5-i1.pcap ? ?24 mp-l3--n6-i0.pcap ? ?24 mp-l3--n6-i1.pcap ? ?24 mp-l3--n7-i0.pcap ? ?24 mp-l3--n7-i1.pcap ? ?24 mp-l3--n8-i0.pcap 1068024 mp-l3--n8-i1.pcap ? ?24 mp-l3--n9-i0.pcap ? ?24 mp-l3--n9-i1.pcap 1068576 total $ ./waf --run 'mesh-original --pcap=1 --x-size=4 --y-size=3' >& /dev/null && wc -c mp-l3*.pcap && rm *.{pcap,xml} # works ? ?24 mp-l3--n0-i0.pcap 2118936 mp-l3--n0-i1.pcap ? ?24 mp-l3--n10-i0.pcap ? ?24 mp-l3--n10-i1.pcap ? ?24 mp-l3--n11-i0.pcap ? ?24 mp-l3--n11-i1.pcap ? ?24 mp-l3--n1-i0.pcap ? ?24 mp-l3--n1-i1.pcap ? ?24 mp-l3--n2-i0.pcap ? ?24 mp-l3--n2-i1.pcap ? ?24 mp-l3--n3-i0.pcap ? ?24 mp-l3--n3-i1.pcap ? ?24 mp-l3--n4-i0.pcap ? ?24 mp-l3--n4-i1.pcap ? ?24 mp-l3--n5-i0.pcap ? ?24 mp-l3--n5-i1.pcap ? ?24 mp-l3--n6-i0.pcap ? ?24 mp-l3--n6-i1.pcap ? ?24 mp-l3--n7-i0.pcap ? ?24 mp-l3--n7-i1.pcap ? ?24 mp-l3--n8-i0.pcap 2127480 mp-l3--n8-i1.pcap ? ?24 mp-l3--n9-i0.pcap ? ?24 mp-l3--n9-i1.pcap 4246944 total $ ./waf --run 'mesh-original --pcap=1 --x-size=4 --y-size=4' >& /dev/null && wc -c mp-l3*.pcap && rm *.{pcap,xml} # works ? ?24 mp-l3--n0-i0.pcap 2118936 mp-l3--n0-i1.pcap ? ?24 mp-l3--n10-i0.pcap ? ?24 mp-l3--n10-i1.pcap ? ?24 mp-l3--n11-i0.pcap ? ?24 mp-l3--n11-i1.pcap ? ?24 mp-l3--n12-i0.pcap ? ?24 mp-l3--n12-i1.pcap ? ?24 mp-l3--n13-i0.pcap ? ?24 mp-l3--n13-i1.pcap ? ?24 mp-l3--n14-i0.pcap ? ?24 mp-l3--n14-i1.pcap ? ?24 mp-l3--n15-i0.pcap ? ?24 mp-l3--n15-i1.pcap ? ?24 mp-l3--n1-i0.pcap ? ?24 mp-l3--n1-i1.pcap ? ?24 mp-l3--n2-i0.pcap ? ?24 mp-l3--n2-i1.pcap ? ?24 mp-l3--n3-i0.pcap ? ?24 mp-l3--n3-i1.pcap ? ?24 mp-l3--n4-i0.pcap ? ?24 mp-l3--n4-i1.pcap ? ?24 mp-l3--n5-i0.pcap ? ?24 mp-l3--n5-i1.pcap ? ?24 mp-l3--n6-i0.pcap ? ?24 mp-l3--n6-i1.pcap ? ?24 mp-l3--n7-i0.pcap ? ?24 mp-l3--n7-i1.pcap ? ?24 mp-l3--n8-i0.pcap 2127480 mp-l3--n8-i1.pcap ? ?24 mp-l3--n9-i0.pcap ? ?24 mp-l3--n9-i1.pcap 4247136 total % Thanks in advance, -- Tadeu Martins -- You received this message because you are subscribed to the Google Groups "ns-3-users" group. To view this discussion on the web visit https://groups.google.com/d/msg/ns-3-users/-/-CTF86vL0YoJ. To post to this group, send email to ns-3-users at googlegroups.com. To unsubscribe from this group, send email to ns-3-users+unsubscribe at googlegroups.com. For more options, visit this group at http://groups.google.com/group/ns-3-users?hl=en. ----- End forwarded message ----- -- Tadeu Martins From howell26 at llnl.gov Thu Jun 28 17:24:06 2012 From: howell26 at llnl.gov (Daniel Howell) Date: Thu, 28 Jun 2012 17:24:06 -0700 Subject: [Ns-developers] Internship Project to Implement BGP via Quagga without DCE Message-ID: <4FECF5A6.3030109@llnl.gov> Hello, my name is Daniel Howell and I'm interning over the summer at the Lawrence Livermore National Laboratory working on network simulations under Peter Barnes. My project is implementing BGP in ns-3 simulations with the goal being to run large-scale simulations of 10k+ nodes. I've looked into the recent DCE implementation of Quagga, but from what I saw, it installs individual Quagga processes on each node that runs BGP on it. For a large scale simulation, this would run too slowly. We also want to be able to run our code on any machine ns-3 can normally run on without having to worry about DCE compatibility between computers. I found this page while researching the problem - http://www.nsnam.org/wiki/index.php/Real_World_Application_Integration#Quagga_porting. Unfortunately, the repository linked on the wiki no longer exists. Does anyone have the files anymore or any additional notes about it? I'm currently looking into extending Ipv4RoutingProtocol to implement BGP at the moment, using the OLSRRoutingProtocol that is built-in as an example. This BGPRoutingProtocol class would call upon the Quagga source code for BGP to run. A few spots of challenge would be making sure the C code compiles in the C++ compiler, running ns-3's simulation time instead of real time on Quagga, and having the sockets communicate between ns-3 and Quagga. I started learning ns-3 just recently for this internship, so I'm not well-versed on the ns-3 data structures. Does this approach make sense or am I misunderstanding/overlooking something? If anyone has the older Quagga Porting code, knows of a similar resource, or can offer any advice or an opinion on this, that'd be very helpful! Thanks! - Daniel Howell From barnes26 at llnl.gov Fri Jun 29 16:45:50 2012 From: barnes26 at llnl.gov (Barnes, Peter D.) Date: Fri, 29 Jun 2012 16:45:50 -0700 Subject: [Ns-developers] Issue 6357056: Generic hash function interface, with two implementations. Message-ID: <388FF216-A425-48DB-BFAA-664F5B77F0A2@llnl.gov> Hello Folks, http://codereview.appspot.com/6357056/ This is the first of three of patches to address Bug 582, "Tags are not serialized and deserialized from Packet::Serialize and Packet::Deserialize" https://www.nsnam.org/bugzilla/show_bug.cgi?id=582 One issue is to serialize the *type* of the derived Tag, when the Packet only has a PacketTagList to work from. This serialization has to produce a consistent result on every compute node in a parallel cluster, even one with heterogeneous nodes. This can be particularly tricky if the different instances of ns3 don't create TypeId's in the same order, which results in a single type (by name) being represented by different TypeId values (integers) on different nodes. One approach, partially implemented by Jeffrey Young at Georgia Tech, is to serialize the TypeId name (a string). This seems unattractive because it takes time and space, typically much more space than the tag data itself (which is limited to 20 bytes). The alternative approach proposed here is to add a consistent 32-bit hash to the TypeId, then pass that to identify the tag type. To simplify review, I've split this into three patches: 1. Add class Hash: generic hash function interface, with two implementations (this review). 2. Add hashes to TypeId. 3. Use TypeId hash to serialize Tags. This review covers the Hash class and implementation. The class itself provides a simple API for callers to hash objects. It wraps multiple underlying hash function implementations. This patch includes the venerable FNV1a, and murmur3. It is straightforward to add new implementations. If your hash function has the right signature, it can be as simple as: Hash (Ptr<HashImplementation> (Hash32Implementation<&hashf>)) _______________________________________________________________________ Dr. Peter D. Barnes, Jr. Physics Division Lawrence Livermore National Laboratory Physical and Life Sciences 7000 East Avenue, L-50 email: pdbarnes at llnl.gov P. O. Box 808 Voice: (925) 422-3384 Livermore, California 94550 Fax: (925) 423-3371 From barnes26 at llnl.gov Fri Jun 29 16:47:28 2012 From: barnes26 at llnl.gov (Barnes, Peter D.) Date: Fri, 29 Jun 2012 16:47:28 -0700 Subject: [Ns-developers] Issue 6344063: TypeId: add hashing and map lookup Message-ID: <AB9962CB-6026-463B-BD60-F194ADF79016@llnl.gov> Hello Folks, http://codereview.appspot.com/6344063/ This is the second of three of patches to address Bug 582, "Tags are not serialized and deserialized from Packet::Serialize and Packet::Deserialize" https://www.nsnam.org/bugzilla/show_bug.cgi?id=582 <repeat of Hash discussion> One issue is to serialize the *type* of the derived Tag, when the Packet only has a PacketTagList to work from. This serialization has to produce a consistent result on every compute node in a parallel cluster, even one with heterogeneous nodes. This can be particularly tricky if the different instances of ns3 don't create TypeId's in the same order, which results in a single type (by name) being represented by different TypeId values (integers) on different nodes. One approach, partially implemented by Jeffrey Young at Georgia Tech, is to serialize the TypeId name (a string). This seems unattractive because it takes time and space, typically much more space than the tag data itself (which is limited to 20 bytes). The alternative approach proposed here is to add a consistent 32-bit hash to the TypeId, then pass that to identify the tag type. To simplify review, I've split this into three patches: 1. Add class Hash: generic hash function interface, with two implementations. 2. Add hashes to TypeId (this review). 3. Use TypeId hash to serialize Tags. </repeat> This patch does three things: * Add a hash value to the TypeId; allow lookup by hash. * Add two maps to IidManager, to speed lookups by name or hash. Microbenchmarks show this is significantly faster with our 400 registered TypeIds. * Add a TypeId test suite. Note: this is to be applied *on top of* the Hash patch, http://codereview.appspot.com/6357056/ Thanks, Peter _______________________________________________________________________ Dr. Peter D. Barnes, Jr. Physics Division Lawrence Livermore National Laboratory Physical and Life Sciences 7000 East Avenue, L-50 email: pdbarnes at llnl.gov P. O. Box 808 Voice: (925) 422-3384 Livermore, California 94550 Fax: (925) 423-3371 From eglemfiles at yahoo.com.br Fri Jun 29 06:26:51 2012 From: eglemfiles at yahoo.com.br (Larissa Eglem) Date: Fri, 29 Jun 2012 06:26:51 -0700 (PDT) Subject: [Ns-developers] Linking issues between modules in ns-3.11 In-Reply-To: <47099.129.237.120.50.1329338366.squirrel@webmail.ittc.ku.edu> References: <58151.129.237.120.50.1328553313.squirrel@webmail.ittc.ku.edu> <op.v9ay9g02unpyju@hippo> <51292.75.39.131.84.1328632006.squirrel@webmail.ittc.ku.edu> <CAOV_JPbeNANekA0AodM53ThPveG27t_JaS1244-PAReYG0rpmg@mail.gmail.com> <58609.129.237.120.50.1328650796.squirrel@webmail.ittc.ku.edu> <CAOV_JPbDhch1Rw31rsjPiyzO_+5hrL0AwQ1cEutLeUOc83U8kg@mail.gmail.com> <47099.129.237.120.50.1329338366.squirrel@webmail.ittc.ku.edu> Message-ID: <34091339.post@talk.nabble.com> Hi Kamakshi, I'm obtainig the same errors with the module I created: Dispatch-module. ./libns3-internet.so: undefined reference to `ns3::DispatchModule::DoGetMacAddr()' ./libns3-internet.so: undefined reference to `ns3::DispatchModule::DoGetCognitiveInterface()' ./libns3-internet.so: undefined reference to `ns3::DispatchModule::GetFlagAck()' ./libns3-internet.so: undefined reference to `ns3::DispatchModule::Send()' ./libns3-internet.so: undefined reference to `ns3::DispatchModule::GetMainAddress()' ./libns3-internet.so: undefined reference to `ns3::DispatchModule::SetCognitiveInterface(ns3::Ptr<ns3::Ipv4Interface>)' ./libns3-internet.so: undefined reference to `ns3::DispatchModule::DoPopQueue()' My src/dispatch-module/wscript file looks like this: module = bld.create_ns3_module('dispatch-module', ['core','internet','wifi']) And when I use ldd this is what I obtain; larissa at larissa-desktop:~/workspace/ns-3-allinone/ns-3.13/build$ ldd libns3-dispatch-module.so linux-vdso.so.1 => (0x00007fffbec9d000) libns3-internet.so.3 => /usr/lib/libns3-internet.so.3 (0x00007fcff74cc000) libns3-wifi.so.3 => /usr/lib/libns3-wifi.so.3 (0x00007fcff6fd2000) libns3-network.so.3 => /usr/lib/libns3-network.so.3 (0x00007fcff6c5e000) libns3-core.so.3 => /usr/lib/libns3-core.so.3 (0x00007fcff693a000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fcff663a000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fcff6423000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fcff6066000) libns3-bridge.so.3 => /usr/lib/libns3-bridge.so.3 (0x00007fcff5e31000) libns3-mpi.so.3 => /usr/lib/libns3-mpi.so.3 (0x00007fcff5c19000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fcff591f000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fcff5702000) libns3-propagation.so.3 => /usr/lib/libns3-propagation.so.3 (0x00007fcff54b4000) libns3-mobility.so.3 => /usr/lib/libns3-mobility.so.3 (0x00007fcff51f5000) libgsl.so.0 => /usr/lib/libgsl.so.0 (0x00007fcff4db9000) libgslcblas.so.0 => /usr/lib/libgslcblas.so.0 (0x00007fcff4b73000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fcff496b000) /lib64/ld-linux-x86-64.so.2 (0x00007fcff7d8d000) I was wondering if you were able to fix this problem? Thank you, Larissa. -- View this message in context: http://old.nabble.com/Linking-issues-between-modules-in-ns-3.11-tp33276618p34091339.html Sent from the ns-developers mailing list archive at Nabble.com. From barnes26 at llnl.gov Fri Jun 29 17:01:41 2012 From: barnes26 at llnl.gov (Barnes, Peter D.) Date: Fri, 29 Jun 2012 17:01:41 -0700 Subject: [Ns-developers] Code review spam Message-ID: <E8CDD855-52D2-41D4-BE53-9E40D1DB9142@llnl.gov> Hello Folks, Sorry for spaming this list with my code review requests, fat Friday fingers to blame. I've sent them to the ns-3-reviews at googlegroups.com list. The good news is that we finally got our code release process resolved. Thanks, Peter On Jun 29, 2012, at 4:45 PM, Barnes, Peter D. wrote: > Subject: Issue 6357056: Generic hash function interface, with two implementations. > > Hello Folks, > > http://codereview.appspot.com/6357056/ On Jun 29, 2012, at 4:47 PM, Barnes, Peter D. wrote: > Subject: Re: Issue 6344063: TypeId: add hashing and map lookup > > Hello Folks, > > http://codereview.appspot.com/6344063/ _______________________________________________________________________ Dr. Peter D. Barnes, Jr. Physics Division Lawrence Livermore National Laboratory Physical and Life Sciences 7000 East Avenue, L-50 email: pdbarnes at llnl.gov P. O. Box 808 Voice: (925) 422-3384 Livermore, California 94550 Fax: (925) 423-3371 From tomh at tomh.org Sat Jun 30 07:32:00 2012 From: tomh at tomh.org (Tom Henderson) Date: Sat, 30 Jun 2012 07:32:00 -0700 Subject: [Ns-developers] Code review In-Reply-To: <E8CDD855-52D2-41D4-BE53-9E40D1DB9142@llnl.gov> References: <E8CDD855-52D2-41D4-BE53-9E40D1DB9142@llnl.gov> Message-ID: <4FEF0DE0.3020407@tomh.org> (modifying the subject line to better get through the moderation queue) On 06/29/2012 05:01 PM, Barnes, Peter D. wrote: > Hello Folks, > > Sorry for spaming this list with my code review requests, fat Friday fingers to blame. > > I've sent them to the ns-3-reviews at googlegroups.com list. I didn't view this as spam; it is standard procedure to alert the developers list about reviews requested on ns-3-reviews (follow-up can go on ns-3-reviews). I also added your links to the ns-3.15 wiki page under simulation core bugs being worked for this release, and a link to them from bug 582. > > The good news is that we finally got our code release process resolved. Thanks for posting all of your recent patches. - Tom From tomh at tomh.org Sat Jun 30 07:35:24 2012 From: tomh at tomh.org (Tom Henderson) Date: Sat, 30 Jun 2012 07:35:24 -0700 Subject: [Ns-developers] Possible bug: problems with grid configuration in a mesh simulation In-Reply-To: <CANCtAjb4sOvwQaWtqFRNEU=5Z3TgkHTpz5k9Z4qOiY-AF_8puA@mail.gmail.com> References: <CANCtAjb4sOvwQaWtqFRNEU=5Z3TgkHTpz5k9Z4qOiY-AF_8puA@mail.gmail.com> Message-ID: <4FEF0EAC.5080208@tomh.org> On 06/27/2012 06:05 PM, Tadeu Martins wrote: > Hi all, > > I am forwarding a message I sent to the ns-3-users mailing list, with no > reply. It is about a problem with the example mesh simulation that is > distributed with ns-3. I tested it for version 3.11 and 3.14.1; the > problem occurs with both of them. > I added bug 1465 in the tracker to look into this issue. From tomh at tomh.org Sat Jun 30 07:46:37 2012 From: tomh at tomh.org (Tom Henderson) Date: Sat, 30 Jun 2012 07:46:37 -0700 Subject: [Ns-developers] Internship Project to Implement BGP via Quagga without DCE In-Reply-To: <4FECF5A6.3030109@llnl.gov> References: <4FECF5A6.3030109@llnl.gov> Message-ID: <4FEF114D.1000500@tomh.org> On 06/28/2012 05:24 PM, Daniel Howell wrote: > Hello, my name is Daniel Howell and I'm interning over the summer at the > Lawrence Livermore National Laboratory working on network simulations > under Peter Barnes. > > My project is implementing BGP in ns-3 simulations with the goal being > to run large-scale simulations of 10k+ nodes. I've looked into the > recent DCE implementation of Quagga, but from what I saw, it installs > individual Quagga processes on each node that runs BGP on it. For a > large scale simulation, this would run too slowly. We also want to be > able to run our code on any machine ns-3 can normally run on without > having to worry about DCE compatibility between computers. > > I found this page while researching the problem - > http://www.nsnam.org/wiki/index.php/Real_World_Application_Integration#Quagga_porting. > Unfortunately, the repository linked on the wiki no longer exists. Does > anyone have the files anymore or any additional notes about it? > > I'm currently looking into extending Ipv4RoutingProtocol to implement > BGP at the moment, using the OLSRRoutingProtocol that is built-in as an > example. This BGPRoutingProtocol class would call upon the Quagga source > code for BGP to run. A few spots of challenge would be making sure the C > code compiles in the C++ compiler, running ns-3's simulation time > instead of real time on Quagga, and having the sockets communicate > between ns-3 and Quagga. > > I started learning ns-3 just recently for this internship, so I'm not > well-versed on the ns-3 data structures. Does this approach make sense > or am I misunderstanding/overlooking something? If anyone has the older > Quagga Porting code, knows of a similar resource, or can offer any > advice or an opinion on this, that'd be very helpful! > > Thanks! > - Daniel Howell Hi Daniel, I'm sure that this type of addition would be welcome by many ns-3 users. I worked on a similar project to support quagga OSPFv3 in GTNeTS several years ago (link is posted on the wiki page that you cited above). It ended up being not too hard because there weren't too many global data structures in OSPFv3 (the current quagga BGP might have more of these issues to deal with than OSPFv3; I'm not sure). However, it was intrusive to plumb in the compatibility layer, which made it very difficult to maintain with new quagga releases). A nicer technique might be to study whether techniques used in Sam Jansen's network simulation cradle could be adapted to perform this conversion in a mostly automated way, so that different variants of quagga could be supported. Please also look at the quagga BGP work that Ga. Tech did in this regard many years ago (also linked in the above page). I think that your suggested approach would fit the ns-3 architecture. - Tom