Difference between revisions of "Ns-3.7"

From Nsnam
Jump to: navigation, search
(Tentative ns-3.7 Release Schedule)
(Tentative ns-3.7 Release Schedule)
Line 15: Line 15:
# <s>January 6 -- '''''Code freeze phase begins''''';</s>
# <s>January 6 -- '''''Code freeze phase begins''''';</s>
# <s>January 6 -- ns-3.7-RC1;</s>
# <s>January 6 -- ns-3.7-RC1;</s>
# January 8 -- ns-3.7-RC2;
# <s>January 8 -- ns-3.7-RC2;</s>
# January 12 -- ns-3.7-RC3;
# January 12 -- ns-3.7-RC3;
# January 15 -- ns-3.7-RC4;
# January 15 -- ns-3.7-RC4;

Revision as of 11:01, 14 January 2010

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.7. The release manager is Faker Moatamri.

Tentative ns-3.7 Release Schedule

  1. October 21 -- ns-3.6 posted;
  2. October 21 -- ns-3.7 Open phase begins;
  3. November 18 -- Deadline for new feature merge;
  4. November 18 -- Begin the phase of small feature development and bug fixing;
  5. December 16 -- Small feature development and bug fixing ends;
  6. December 16 -- Open phase ends;
  7. December 16 -- Maintenance phase begins;>
  8. January 6 -- Maintenance phase ends;
  9. January 6 -- Code freeze phase begins;
  10. January 6 -- ns-3.7-RC1;
  11. January 8 -- ns-3.7-RC2;
  12. January 12 -- ns-3.7-RC3;
  13. January 15 -- ns-3.7-RC4;
  14. January 20 -- ns-3.7 posted;
  15. January 20 -- Code freeze phase ends;
  16. January 20 -- ns-3.8 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.7 should contact Faker and arrange to have their features merged into ns-3-dev. You will be expected to provide the following:

  • 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 sucessfully on all of our target machines;
  • 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 genenerate 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 acknowledgement by maintainers is indicated if:

  • Your proposed feature does not work with all models or on all platforms;
  • Your feature changes pre-existing APIs;
  • Your feature crosses maintainer boundaries.

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.

The open phase is divided into two parts: new feature merge period and small feature development and bug fixing.

During the new feature merge period we can:

  • 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 November 18th, 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:

  • 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 (December 16th) 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.

On January 6th, 2010, 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.7.

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.

Candidate Contributions for Inclusion in ns-3.7

Underwater Acoustic Network Device



  • Code: No available code for the moment
  • Developer: Tom Wambold
  • Status: waiting to the code to be ready to review

MPI-based parallelization

Internet stack roadmap

NAT traversal

802.11n block ack

  • Review location: http://codereview.appspot.com/144050
  • Reviewers: Faker Moatamri, Nicola Baldo, Andrey Mazo, Andreev Kirill, Mathieu Lacage
  • Developer: Mirko Blanchi
  • Status: waiting for mathieu's review

ns-3.7 Features Merged

802.11p WiFi standards

  • Review location: http://codereview.appspot.com/152058/show
  • Reviewers: Mathieu Lacage
  • Developers: Michael Nowatkowski
  • Status: Merged to ns-3-dev
  • Features:
    • Adds WIFI_PHY_STANDARD_80211p_CCH, 802.11p Control Channel specifications, as an enumerated case of WifiPhyStandard
    • Adds WIFI_PHY_STANDARD_80211p_SCH, 802.11p Service Channel specifications, as an enumerated case of WifiPhyStandard
    • The above standards are available to the qadhoc-wifi-mac, qap-wifi-mac, and qsta-wifi-mac models.
    • PHY, MAC and DCF parameters are set according to IEEE Trial-Use Standard for Wireless Access in Vehicular Environments (WAVE) - Multi-channel Operation, IEEE Std 1609.4-2006
    • Code is based on the existing WIFI_PHY_STANDARD_80211_10Mhz WifiPhyStandard

Waypoint mobility model

  • review location: http://codereview.appspot.com/144064/show
  • Reviewers: Mathieu Lacage, Faker Moatamri
  • Developer: Phillip Sitbon
  • Status: merged into mainstream, needs tests and examples from Phillip
  • Features:
    • Provides a waypoint type to correlate time and position, and
    • A waypoint-based mobility model that calculates positions at and in between waypoints when queried.
    • Uses about half as much memory as the equivalent event-based method(velocity/direction updates), mostly by removing each waypoint when it is reached.
    • Faster: caches the current position of each node at a given time step, requiring N less floating-point calculations for distances between every pair (N being the number of simulation nodes).

Ad Hoc On Demand Distance Vector (AODV) Routing (RFC 3561)

  • Code location: https://forge.iitp.ru/hgprojects/ns3aodv/
  • Review location: http://codereview.appspot.com/115075/show
  • Reviewers: Faker Moatamri, Tom Henderson
  • Developer: Pavel Boyko
  • Status: Corrections made, waiting for +1s?
  • background: http://mailman.isi.edu/pipermail/ns-developers/2009-September/006497.html
  • Features:
    • Added the AODV model
    • The Duplicate Packet Detection (DPD) model has been factored out of AODV, for use by other protocols
    • Proposal to create a src/routing/manet directory, which would include AODV and the new DPD module, but also would argue for moving olsr and packetbb to this new directory
    • Extensions to IPv4 Ping application, including the ability to configure different ping sizes and time intervals (via new attributes)
    • Contrib/average.h -- almost trivial template class for averaging.


  • Review location: http://codereview.appspot.com/117051
  • Reviewers: Faker Moatamri, Tom Henderson
  • Developers: George Riley and Josh Pelkey
  • Status: Merged in ns-3-dev
  • Background: http://mailman.isi.edu/pipermail/ns-developers/2009-November/006914.html
  • Features:
    • Provides an inteface to NetAnim, a network animator for point-to-point links in ns-3. The interface generates a custom trace file for use with the NetAnim program
    • New topology helpers have been introduced including PointToPointStarHelper, PointToPointDumbbellHelper, PointToPointGridHelper, and CsmaStarHelper. These topology helpers provide a simply way to setup common topologies, and the BoundingBox method within each helper allows easy placement of nodes on the NetAnim canvas
    • Example scripts are located in examples/animation for examples on using the animation interface
    • Future: Support other link types besides point-to-point. For wireless links, this requires an update to the (completely separate) NetAnim program in order to handle wireless devices

IPv6 Extension and Option Headers

Wimax applications

  • Review location:
  • Reviewers: Faker Moatamri
  • Developers: Sebastien Vincent, Fabian Mauchle
  • Status: Needs more reviews

The ns-3.7 Bug List

High Priority Blockers

blockers list

High Priority Non-Blockers

High priority non blockers