Ns-3.6: Difference between revisions

From Nsnam
Jump to navigation Jump to search
Line 128: Line 128:
# Bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=663  663  nor  P1  All  riley@ece.gatech.edu  NEW  RST from remote TCP crashes ns-3 TCP]
# Bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=663  663  nor  P1  All  riley@ece.gatech.edu  NEW  RST from remote TCP crashes ns-3 TCP]
# Bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=664  664  nor  P1  All  ns-bugs@isi.edu  NEW  memory fault/dangling pointer problems in tcp-socket-impl.cc, with suggested fixes]
# Bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=664  664  nor  P1  All  ns-bugs@isi.edu  NEW  memory fault/dangling pointer problems in tcp-socket-impl.cc, with suggested fixes]
# Bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=675  675  nor  P1  All  craigdo@ee.washington.edu  NEW  Two Unit Test Environments]
# Bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=675  675  nor  P1  All  craigdo@ee.washington.edu  NEW  Two Unit Test Environments]
# Bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=676  676  nor  P1  All  tomh@tomh.org  NEW  Align Ipv{4,6}L3Protocol  Rx/Tx/Drop signatures]
# Bug [http://www.nsnam.org/bugzilla/show_bug.cgi?id=676  676  nor  P1  All  tomh@tomh.org  NEW  Align Ipv{4,6}L3Protocol  Rx/Tx/Drop signatures]

Revision as of 17:24, 28 September 2009

Main Page - Roadmap - Summer Projects - Project Ideas - Developer FAQ - Tools - Related Projects

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

This page summarizes the ongoing release planning for ns-3.6. The release manager is Craig Dowell.

The release is now in the maintenanace phase which means we are striving for a period of stability before the release and only accepting bug fixes. If you would like to arrange to have a new feature reviewed and included in ns-3, your first opportunity will be the open phase of the ns-3.7 release tentatively scheduled for mid-January 2010.

The ns-3.6 Release Schedule

ns-3 releases are based on date-driven schedules as opposed to feature-driven schedules. We decide on a release date and then the release manager works backward to define windows during which time certain activites related to the release can happen. This has been done for ns-3.6 and the important milestones are:

  1. July 4 -- ns-3.5 posted;
  2. July 5 -- ns-3.6 Open phase begins;
  3. August 26 -- Recommended cutoff for new feature submission;
  4. September 2 -- Deadline for new feature submissions that require design review;
  5. September 9 -- Approved new feature ready-for-merge deadline;
  6. September 9 -- Late merge period begins (Merge Week Begins);
  7. September 16 -- Late merge period ends;
  8. September 16 -- Open phase ends;
  9. September 16 -- Maintenance phase begins;>
  10. September 30 -- Maintenance phase ends;
  11. September 30 -- Code freeze phase begins;
  12. October 1 -- ns-3.6-RC1;
  13. October 5 -- ns-3.6-RC2;
  14. October 8 -- ns-3.6-RC3;
  15. October 12 -- ns-3.6-RC4;
  16. October 14 -- ns-3.6 posted;
  17. October 14 -- Code freeze phase ends;
  18. October 14 -- ns-3.7 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.6 should contact craigdo 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 I 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 regression test that I can use to determine if your feature is actually working at each stage of the integration.

I 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, I 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 I will run this submission by the maintainers of the current devices. The maintainers won't have any responsibility to positively ack the submission, but I will take some time to allow a reasonable review.

I will coordinate new feature merges beginning at the start of the late merge period (September 16, 2009). This is the time during which I merge the code from all of those people who have waited until the last minute and work out any system integration issues that pop up. If you do wait until the last moment, you are not guaranteed to get your code into ns-3.6 even if it is perfect and completely reviewed. This is a first-in first-out process (with possible priority boosts based on inputs from higher up) and will continue as long as resources allow; but don't expect any results. If you miss the start of the late merge period, or have a feature that is not design-reviewed by the start of the late merge period, well, sorry. You get to wait until the ns-3.7 open period to try again.

The end of the late merge period coincides 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 me if you want to add small, self-contained features, but there are no guarantees that I will okay them.

On September 30th, 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. I will begin my daily annoying emails listing all of the priority one bugs that are outstanding. Our goal will be to reduce the number of P1 bugs to zero before the release of ns-3.6.

I 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.6

The ns-3.6 open phase has ended. Nor further contributions will be accepted.

ns-3.6 Features Merged

Nix-Vector Routing

  • contact: George Riley, Josh Pelkey
  • status: Merge Completed September 18, 2009

NetAnim Animator Support

  • contact: George Riley, Josh Pelkey
  • status: Merge Completed September 18, 2009

Flow Monitor

  • contact: Gustavo Carneiro
  • status: Merge Completed September 16, 2009

Multi-Channels in YANS Wifi Phy

  • contact: Ramon Bauza
  • status: Merge Completed September 15, 2009

802.11s Mesh Model

  • contact: Pavel Boyko
  • status: Merged September 14, 2009

PacketBB (RFC 5444)

  • contact: Tom Wambold
  • status: Merged September 13, 2009

Testing and Validation Framework

  • contact: Craig Dowell
  • status: Merged September 12, 2009

Minstrel Rate Control Algorithm

  • contact: Duy Nguyen
  • status: Merged

IPv6 models

  • IPv6 interface;
  • IPv6 layer;
  • IPv6 raw socket;
  • Static IPv6 routing;
  • ICMPv6 layer;
  • Some ICMPv6 error messages;
  • Neighbor Discovery Protocol (NS/NA, RS/RA, redirection);
  • Ping6 application (send Echo request);
  • Radvd application (send RA);
  • Examples (ping6, simple-routing-ping6, radvd, radvd-two-prefix, icmpv6-redirect).

AthstatsHelper

  • Nicola Baldo contribution;
  • Enables the wifi device to produce periodic reports similar to madwifi athstats.

The List of ns-3.6 Open Blocking (P1) Bugs

The following bugs must, by definition, be addressed before ns-3.6 ships.

  1. Bug 424 nor P1 All riley@ece.gatech.edu NEW TCP FIN notification callback needed
  2. Bug 426 nor P1 All riley@ece.gatech.edu NEW TCP: close does not send RST
  3. Bug 559 nor P1 All riley@ece.gatech.edu REOP TcpSocketImpl doesnt free endpoint quickly enough after being closed
  4. Bug 615 nor P1 All riley@ece.gatech.edu NEW TCP does not respond with RST to non-listening port
  5. Bug 643 nor P1 All tomh@tomh.org NEW Interference Helper may not calculate noise interference properly
  6. Bug 645 nor P1 All ns-bugs@isi.edu NEW patch fixes for opening stats file with OMNeT++
  7. Bug 647 nor P1 All riley@ece.gatech.edu NEW Ns-3 implementation of TCP fails to produce limited-queue CW sawtooth
  8. Bug 651 nor P1 All tomh@tomh.org NEW Ipv4StaticRouting doesn't work stand-alone: can't deliver local packets
  9. Bug 662 nor P1 All ns-bugs@isi.edu NEW the GetRequestedBandwidth() function doesn't return the correct value of BandwidthRequested
  10. Bug 663 nor P1 All riley@ece.gatech.edu NEW RST from remote TCP crashes ns-3 TCP
  11. Bug 664 nor P1 All ns-bugs@isi.edu NEW memory fault/dangling pointer problems in tcp-socket-impl.cc, with suggested fixes
  12. Bug 675 nor P1 All craigdo@ee.washington.edu NEW Two Unit Test Environments
  13. Bug 676 nor P1 All tomh@tomh.org NEW Align Ipv{4,6}L3Protocol Rx/Tx/Drop signatures
  14. Bug 678 nor P1 All tomh@tomh.org NEW InternetStackHelper::SetRoutingHelper does evil things

Bugs Assigned to Craig Dowell

  1. Bug 675 nor P1 All craigdo@ee.washington.edu NEW Two Unit Test Environments

Bugs Assigned to Tom Henderson

  1. Bug 643 nor P1 All tomh@tomh.org NEW Interference Helper may not calculate noise interference properly
  2. Bug 651 nor P1 All tomh@tomh.org NEW Ipv4StaticRouting doesn't work stand-alone: can't deliver local packets
  3. Bug 676 nor P1 All tomh@tomh.org NEW Align Ipv{4,6}L3Protocol Rx/Tx/Drop signatures
  4. Bug 678 nor P1 All tomh@tomh.org NEW InternetStackHelper::SetRoutingHelper does evil things


Bugs Assigned to George Riley

  1. Bug 424 nor P1 All riley@ece.gatech.edu NEW TCP FIN notification callback needed
  2. Bug 426 nor P1 All riley@ece.gatech.edu NEW TCP: close does not send RST
  3. Bug 559 nor P1 All riley@ece.gatech.edu REOP TcpSocketImpl doesnt free endpoint quickly enough after being closed
  4. Bug 615 nor P1 All riley@ece.gatech.edu NEW TCP does not respond with RST to non-listening port
  5. Bug 647 nor P1 All riley@ece.gatech.edu NEW Ns-3 implementation of TCP fails to produce limited-queue CW sawtooth
  6. Bug 663 nor P1 All riley@ece.gatech.edu NEW RST from remote TCP crashes ns-3 TCP

Homeless Bugs

  1. Bug 645 nor P1 All ns-bugs@isi.edu NEW patch fixes for opening stats file with OMNeT++
  2. Bug 662 nor P1 All ns-bugs@isi.edu NEW the GetRequestedBandwidth() function doesn't return the correct value of BandwidthRequested
  3. Bug 664 nor P1 All ns-bugs@isi.edu NEW memory fault/dangling pointer problems in tcp-socket-impl.cc, with suggested fixes

The List of ns-3.6 Resolved P1 Bugs

  1. Bug 624 nor P1 All tomh@tomh.org NEW Unable to modify packet tag in RouteInput ()
  2. Bug 666 tri P1 All dnlove@gmail.com NEW wifi rates off by factor of 1000000 in ascii output
  3. Bug 680 nor P1 All ns-bugs@isi.edu NEW Net-anim trace source needs config support

High Priority Non-Blockers

The following bugs would be nice-to-have before ns-3.6 ships. If all of the blockers are fixed, we will begin to address these bugs.


Craigdo 17:26, 24 September 2009 (UTC)