Difference between revisions of "Ns-3.11"

From Nsnam
Jump to: navigation, search
m (The ns-3.11 Bug List)
m (Proposed Release Schedule)
 
(31 intermediate revisions by 3 users not shown)
Line 11: Line 11:
 
# April 6 -- '''''Open phase ends'''''
 
# April 6 -- '''''Open phase ends'''''
 
# April 6 -- '''''Maintenance phase begins'''''
 
# April 6 -- '''''Maintenance phase begins'''''
# April 30 -- '''''Maintenance phase ends'''''
+
# May 15 -- '''''Maintenance phase ends'''''
# April 30 -- '''''Code freeze phase begins'''''
+
# May 15 -- '''''Code freeze phase begins'''''
# April 30 -- ns-3.11-RC1
+
# May 15 -- ns-3.11-RC1
# May 3 -- ns-3.11-RC2
+
# May 19 -- ns-3.11-RC2
# May 6 -- ns-3.11-RC3
+
# May 23 -- ns-3.11-RC3
# May 8   -- ns-3.11 posted
+
# May 25   -- ns-3.11 posted
# May 8    -- '''''Code freeze phase ends'''''
+
# May 25  -- '''''Code freeze phase ends'''''
# May 8   -- ns-3.12 Open phase begins
+
# May 25   -- ns-3.12 Open phase begins
  
As described in the [[Roadmap]] there are three broad sections in the release schedule.  During the open phase, people wanting to include a new feature in ns-3.11 should contact Josh and arrange to have their features merged into ns-3-dev.  You will be expected to provide the following:
+
= To Do List =
  
* A mercurial patch, bundle or repo against the current version of ns-3-dev that contains your proposed feature addition.  You need to make sure that we can apply this patch and build and run (debug and optimized as appropriate) all unit and regression tests successfully on all of our target machines
+
'''For first release candidate'''
* A summary of the additions you are proposing and an explanation of any changes to existing code that had to be done in order to support your feature (this will be used to generate release notes and will be provided to maintainers if a code review is indicated)
+
* Some kind of unit or system test that can be used to determine if your feature is actually working at each stage of the integration
+
  
One of us will take a quick look at your proposed addition and determine if a code review is required.  According to the ''book of instructions'' a code review requiring positive acknowledgment by maintainers is indicated if:
+
* Mitch Watrous is working on the following modular build-related items:
 +
** <s>Update documentation: how to use the template module</s>
 +
** <s>Update documentation: how to create a new module</s>
 +
** <s>Update documentation: how to use the configuration (.ns3rc) file</s>
  
* Your proposed feature does not work with all models or on all platforms
+
* [http://mailman.isi.edu/pipermail/ns-developers/2011-April/008797.html Documentation updates] are planned:
* Your feature changes pre-existing APIs
+
** <s>Update project documentation for modular build changes (Mitch Watrous)</s>
* Your feature crosses maintainer boundaries
+
** <s>Split existing manual to a "developers manual" and a "model library" manual</s>
 +
** <s>Remove "testing" document; move pieces to developers manual and model library manual</s>
 +
** <s>Add python page to manual</s>
 +
** <s>Create module template that can be easily cloned</s>
  
Just to be safe, we will probably run a feature submission by at least one maintainer according to the general area of applicability of the feature. For example, if you submit an entirely new device driver model, as a courtesy we will run this submission by the maintainers of the current devices.  The maintainers won't have any responsibility to positively ack the submission, but we will take some time to allow a reasonable review.
+
* <s>[http://mailman.isi.edu/pipermail/ns-developers/2011-April/008816.html Coding style update] will be applied</s>
 +
** Nicola's patch for pointer syntax still pending and an open issue
  
The open phase is divided into two parts: new feature merge period and small feature development and bug fixing.
+
* <s>Move python examples to modular bindings</s>
  
During the new feature merge period we can:
+
'''For final release'''
* Review the code that might be merged
+
* Clean up the bug tracker: solve as much bugs as possible
+
* Merge the new features that has +1 and from maintainers
+
  
After February 14th, the new feature merge period ends and small feature development and bug fixes begins. During the latter, no more merges are accepted and we can:
+
* Fix AODV [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1099 Bug 1099] - AODV performance problems
* Accept limited, small, self contained changes/features to ns-3-dev and to merged new features. As specified before, no more merges are accepted
+
* Review the code to be merged for next releases
+
* Cleanup the ns-3-dev bug tracker, solve as much bugs as possible
+
  
The end of the  small feature development and bug fixes coincides (March 5th) with the beginning of the maintenance phase.  No new features may be added, but the maintainers may check in fixes to bugs; and people with new features that have been accepted and previously merged may fix bugs in existing features.  Please don't try to sneak in more new features or you may have your whole feature set removed at the release manager's discretion.  You can ask if you want to add small, self-contained features, but there are no guarantees that we will okay them.
+
* Other possible bugs:
 +
** TCP deadlock
 +
** <s>int 64x64 overflow (needs confirmed)</s>
 +
** 555 DCF (check also whether 1011 is invalid)
 +
** Bug 1047 (waiting for response from submitter)
 +
** <s>Bugs 1054,1056,1058 (Tom H)</s>
 +
** <s>1087 (MPI finalize?)</s>
 +
** nsc on gcc-4.6.0 (1093)
 +
** rounding errors in mobility model (976)?
  
On March 30th, 2011, we are going to enter the code freeze phase.  This indicates that we are in the final stages of the release and our primary goal is stability.  During the code freeze phase, only P1 bugfixes will be allowed to be checked in.  Our ''goal'' will be to reduce the number of P1 bugs to zero before the release of ns-3.11.
+
* decide on Nicola's patch for pointer syntax
  
'''''We will reserve the right to veto (and remove) any new feature addition if it begins to cause problems and looks like it threatens the stability of the release at any time in the release process.'''''
+
* Review/update tutorial and documentation
 +
** finish module template
 +
** Remove [http://mailman.isi.edu/pipermail/ns-developers/2011-March/008742.html duplicate doxygen documentation]
 +
** migrate python content from wiki to new python page
  
= Candidate Contributions for Inclusion in ns-3.11 =
+
* Release new website
 
+
 
+
* [http://codereview.appspot.com/2104052/show Virtual Access Point (VAP) for WiFi]
+
** insufficient reviews
+
* [http://codereview.appspot.com/2135046/show GetRelativeVelocity() for MobilityModel]
+
** insufficient reviews
+
* [http://codereview.appspot.com/2173042/show PhySimWifi]
+
** insufficient reviews
+
* [http://codereview.appspot.com/2334041/show thread-safe implementation of ScheduleWithContext]
+
* [http://codereview.appspot.com/1587041/show simple wireless models]
+
* [http://codereview.appspot.com/1055041/show Jamming model]
+
* [http://codereview.appspot.com/850045/show MPLS]
+
* [http://mailman.isi.edu/pipermail/ns-developers/2010-February/007419.html TCP Vegas] (blocked by lack of progress on TCP congestion control architecture)
+
* [http://codereview.appspot.com/3374041/ NetAnim trace hooks for wireless]
+
  
 
= ns-3.11 Features Merged =
 
= ns-3.11 Features Merged =
 +
* [http://www.nsnam.org/wiki/index.php/App_Store_Technical_Requirements modular build]
 
* [http://codereview.appspot.com/3988043/show ns-3 click]
 
* [http://codereview.appspot.com/3988043/show ns-3 click]
 
* [http://codereview.appspot.com/4266051/show ns-3 openflow]
 
* [http://codereview.appspot.com/4266051/show ns-3 openflow]
  
= The ns-3.11 Bug List =
+
= Bugs fixed for ns-3.11 =
  
'''Highest Priority'''
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=445 445] -- Is the class name Scalar in nstime.h appropriate?
 +
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=699 699] -- TestCase::DoRun probably should not return a bool
 +
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1017 1017] -- node --> internet-stack --> node
 +
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1018 1018] -- mobility --> helper --> mobility circular dependency
 +
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1019 1019] -- common --> node --> common circular dependency
 
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1038 1038] -- Time::Get*Seconds () return signed integer while actually returning unsigned.
 
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1038 1038] -- Time::Get*Seconds () return signed integer while actually returning unsigned.
 +
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1040 1040] -- Olsr and multiple interfaces
 
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1044 1044] -- Seconds (1e-9) creates Time that is not IsPositive ()
 
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1044 1044] -- Seconds (1e-9) creates Time that is not IsPositive ()
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=445 445] -- Class name rename Scalar->Dimensionless
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1048 1048] -- suggested MatrixPropagationLossModel::SetLoss() API change
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=976 976] -- wifi-wired-bridging regression test fails because of rounding errors in mobility model
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1049 1049] -- Issues with OLSR HNA messages sent by multiple gateways
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1042 1042] -- AODV RERR implosion (missing RERR_RATELIMIT)
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1052 1052] -- olsr::RoutingProtocol::LinkTupleUpdated incorrect detection of asymetric link with multiple interface nodes
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1046 1046] -- AODV: NULL callback
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1060 1060] -- Setting NqStaWifiMac Active Probing true, crashes simulation
 +
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1061 1061] -- Title level inconsistent in click.rst
 +
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1062 1062] -- rescale-pdf not working
 +
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1064 1064] -- Correct Friis propagation loss equation in spectrum module
 +
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1066 1066] -- Set Radiotap modulation type flags correctly
 +
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1069 1069] -- ApWifiMac unduly calls RegularWifiMac::Receive and crashes
 +
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1070 1070] -- csma/ipv6 examples duplicate NS_LOG_COMPONENT_DEFINE
 +
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1075 1075] -- Python examples fail when static built is enabled
 +
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1076 1076] -- Waf gives an error if you enable only a single module
 +
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1078 1078] -- PacketTagList::Add performs NS_ASSERT counting one byte too few
 
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1079 1079] -- MPI code doesn't compile
 
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1079 1079] -- MPI code doesn't compile
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1095 1095] -- MPI enable configuration failed in Fedroa 14
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1081 1081] -- wutils.py refers to the old directory for visualizer module
 
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1083 1083] -- scratch doesn't work when only some modules are enabled
 
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1085 1085] -- Build failed: list index out of range
'''High Priority'''
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1086 1086] -- sanity check for not calling Object::Dispose () twice
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1033 1033] -- airtime-metric
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1088 1088] -- Code in scratch directory assumes all modules are enabled
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=409 409] -- Routing messages can exceed MTU, and fragmentation not supported
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1089 1089] -- lwip build issue
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=631 631] -- RealtimeSimulatorImpl not compatible with python bindings
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1090 1090] -- WifiMacQueue is not accessible through the attribute path
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=555 555] -- DCF immediate access bug
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1092 1092] -- Problem building FreeBSD stack with g++ 4.5.2 (Ubuntu)
** patch existing / needs further testing and verification
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1098 1098] -- when to show users which modules are enabled?
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=521 521] -- Ipv4 global routing inefficient
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1105 1105] -- Move topology helpers into separate per-device modules
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=938 938] -- missing Doxygen
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1106 1106] -- Remove "CanvasLocation" dependencies in p2p helpers
* <s>bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1018 1018] -- mobility --> helper --> mobility circular dependency</s>
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1108 1108] -- test.py -e option needs repair
* <s>bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1017 1017] -- node --> internet-stack --> node</s>
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1110 1110] -- Sort alphabetically and display "Modules built" in columns
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=756 756] -- Build should be configurable to avoid using optional components
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1117 1117] -- bindings failures on selected platforms
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=912 912] -- modeling processing delays
+
 
+
 
+
'''Possibly easy fixes'''
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=976 976] -- udp tx buffer is not fixed size
+
** possibly WONTFIX
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1006 1006] -- UDP socket tx buffer back pressure needed
+
**somewhat related to bug 141
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=996 996] -- TCP FIN-WAIT-2 bug
+
** pinged Adrian about this one, likely fixed
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=272 272] --InternetStackHelper::Install does not mention the fact that it aggregates PacketSocketFactory
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1038 1038] -- Time::Get*Seconds () return signed integer while actually returning unsigned
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=798 798] -- In test.py: CRASH: TestSuite ns3-tcp-cwnd CRASH: TestSuite ns3-tcp-interoperability.
+
** is this still valid?
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=957 957] -- Issue with test.py
+
** patch exists
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=190 190] -- Reminder: NS_LOG_APPEND_CONTEXT
+
** remove from tracker?
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=848 848] -- append version number to libns3.so?
+
** remove from tracker?
+
 
+
 
+
'''For Josh Pelkey -- me'''
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=582 582] -- tags are not serialized and deserialized from Packet::Serialize and Packet::Deserialize
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=1039 1039] -- TCP Nagle algorithm and RTO calculation
+
* bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=730 730] -- Enabling fragmentation at run-time breaks simulation
+
 
+
= Feature requests =
+
 
+
* make spectrum model compatible with ns-3 WiFi
+
* ns-2 packet UID feature
+
* API for TOS bytes (issue 897)  ''may wait for netfilter support''
+
* Chord/DHT (authors are planning to revise code based on comments)
+
* app store and build system refactoring
+
* fragmentation for IPv4:  being worked by Vedran Miletic
+
* TDMA wireless model
+
** being worked on by Hemanth Narra
+

Latest revision as of 21:20, 23 May 2011

Main Page - Current Development - Developer FAQ - Tools - Related Projects - Project Ideas - Summer Projects

Installation - Troubleshooting - User FAQ - HOWTOs - Samples - Models - Education - Contributed Code - Papers

This page summarizes the ongoing release planning for ns-3.11. Josh Pelkey <jpelkey@gatech.edu> will manage the release.

Proposed Release Schedule

  1. January 5 -- ns-3.10 posted
  2. January 5 -- ns-3.11 Open phase begins
  3. March 18 -- Deadline for new feature merge
  4. March 18 -- Begin the phase of small feature development and bug fixing
  5. April 6 -- Small feature development and bug fixing ends
  6. April 6 -- Open phase ends
  7. April 6 -- Maintenance phase begins
  8. May 15 -- Maintenance phase ends
  9. May 15 -- Code freeze phase begins
  10. May 15 -- ns-3.11-RC1
  11. May 19 -- ns-3.11-RC2
  12. May 23 -- ns-3.11-RC3
  13. May 25 -- ns-3.11 posted
  14. May 25 -- Code freeze phase ends
  15. May 25 -- ns-3.12 Open phase begins

To Do List

For first release candidate

  • Mitch Watrous is working on the following modular build-related items:
    • Update documentation: how to use the template module
    • Update documentation: how to create a new module
    • Update documentation: how to use the configuration (.ns3rc) file
  • Documentation updates are planned:
    • Update project documentation for modular build changes (Mitch Watrous)
    • Split existing manual to a "developers manual" and a "model library" manual
    • Remove "testing" document; move pieces to developers manual and model library manual
    • Add python page to manual
    • Create module template that can be easily cloned
  • Coding style update will be applied
    • Nicola's patch for pointer syntax still pending and an open issue
  • Move python examples to modular bindings

For final release

  • Fix AODV Bug 1099 - AODV performance problems
  • Other possible bugs:
    • TCP deadlock
    • int 64x64 overflow (needs confirmed)
    • 555 DCF (check also whether 1011 is invalid)
    • Bug 1047 (waiting for response from submitter)
    • Bugs 1054,1056,1058 (Tom H)
    • 1087 (MPI finalize?)
    • nsc on gcc-4.6.0 (1093)
    • rounding errors in mobility model (976)?
  • decide on Nicola's patch for pointer syntax
  • Review/update tutorial and documentation
  • Release new website

ns-3.11 Features Merged

Bugs fixed for ns-3.11

  • bug 445 -- Is the class name Scalar in nstime.h appropriate?
  • bug 699 -- TestCase::DoRun probably should not return a bool
  • bug 1017 -- node --> internet-stack --> node
  • bug 1018 -- mobility --> helper --> mobility circular dependency
  • bug 1019 -- common --> node --> common circular dependency
  • bug 1038 -- Time::Get*Seconds () return signed integer while actually returning unsigned.
  • bug 1040 -- Olsr and multiple interfaces
  • bug 1044 -- Seconds (1e-9) creates Time that is not IsPositive ()
  • bug 1048 -- suggested MatrixPropagationLossModel::SetLoss() API change
  • bug 1049 -- Issues with OLSR HNA messages sent by multiple gateways
  • bug 1052 -- olsr::RoutingProtocol::LinkTupleUpdated incorrect detection of asymetric link with multiple interface nodes
  • bug 1060 -- Setting NqStaWifiMac Active Probing true, crashes simulation
  • bug 1061 -- Title level inconsistent in click.rst
  • bug 1062 -- rescale-pdf not working
  • bug 1064 -- Correct Friis propagation loss equation in spectrum module
  • bug 1066 -- Set Radiotap modulation type flags correctly
  • bug 1069 -- ApWifiMac unduly calls RegularWifiMac::Receive and crashes
  • bug 1070 -- csma/ipv6 examples duplicate NS_LOG_COMPONENT_DEFINE
  • bug 1075 -- Python examples fail when static built is enabled
  • bug 1076 -- Waf gives an error if you enable only a single module
  • bug 1078 -- PacketTagList::Add performs NS_ASSERT counting one byte too few
  • bug 1079 -- MPI code doesn't compile
  • bug 1081 -- wutils.py refers to the old directory for visualizer module
  • bug 1083 -- scratch doesn't work when only some modules are enabled
  • bug 1085 -- Build failed: list index out of range
  • bug 1086 -- sanity check for not calling Object::Dispose () twice
  • bug 1088 -- Code in scratch directory assumes all modules are enabled
  • bug 1089 -- lwip build issue
  • bug 1090 -- WifiMacQueue is not accessible through the attribute path
  • bug 1092 -- Problem building FreeBSD stack with g++ 4.5.2 (Ubuntu)
  • bug 1098 -- when to show users which modules are enabled?
  • bug 1105 -- Move topology helpers into separate per-device modules
  • bug 1106 -- Remove "CanvasLocation" dependencies in p2p helpers
  • bug 1108 -- test.py -e option needs repair
  • bug 1110 -- Sort alphabetically and display "Modules built" in columns
  • bug 1117 -- bindings failures on selected platforms