From Nsnam
Revision as of 20:50, 21 April 2016 by Tomh (Talk | contribs) (TCP goals)

Jump to: navigation, search

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 release planning for ns-3.26 (planned for June 2016). The ns-3 release process is listed here and here.

Release goals

The following goals have been identified by maintainers.

Build system

ns-3 core

For ns-3.26, only maintenance on core (dealing with bug reports/open issues) is planned.

Tom Henderson would like to finish off:

  • Attribute/TraceSource deprecation (bugs 2149 and 2344)
  • refactor chi-squared tests for random number generation (bug 1927)
  • Matt's test.py contributions (bug 2291)
  • bug 2086 on attribute accessibility
  • bug 1962 on random variable stream GetStream() returning -1
  • bug 1939 on aggregating same object to two nodes
  • bug 1604 on Config::GetDefault

Peter Barnes intends to continue working on:

  • Bug 938 - missing Doxygen in ns-3
  • Bug 1764 - can't compile without pthread
  • Bug 1972 - CommandLine duplicate argument handling

network module

There are a large number of patches pending on the Packet class and its friends; Tom H intends to work through them with Mathieu and with patch contributors.

This proposal was made recently on ns-developers: - we apply the patch in bug 2308 (LTE) if the LTE maintainers approve it - we apply the patch in bug 2069 (fix size of m_used variable) - we open a 'feature request/PATCH WANTED' for removal of ByteTags - we study the implications of the expansion of tag size recently (bug 2361) and either update documentation or change the code - we add a 'best current practice' note to the documentation, on tag usage, as suggested by Tommaso. (perhaps modifying this section: https://www.nsnam.org/docs/release/3.25/models/html/packets.html#adding-and-removing-tags) - consider Alex's proposal of some API changes to the tags class: https://www.nsnam.org/bugzilla/show_bug.cgi?id=1383 - consider to finish patch for serializing/deserializing tags (bug 582)

In addition, the following maintenance/bugs should be dealt with:

  • bug 2253: Alexander Krotov reported a bug: https://www.nsnam.org/bugzilla/show_bug.cgi?id=2253
  • bug 2221: Packet tag size increased by 1 byte recently due to a Wi-Fi requirement; what should we do about this? is the previous 20 byte limit sacred?
  • bug 2198: proposed const addition
  • bug 2078: Tommaso found problems in metadata usage
  • bug 2102: another metadata bug reported
  • bug 1643: this has lingered with a patch for a while
  • bug 1535: this Packet::AddAtEnd() in TCP is still around; the TCP buffers still use this
  • bug 1407: packet header printing disabled

TCP models

Natale Patriciello, Anh Nguyen, Tom Henderson, Matthieu Coudron, and Amir Modarresi are working on the following.

0) Already added.

TCP BIC, Veno, Scalable and Vegas have already been merged.

1) Open tracker issues

  • 2263: Support processing multiple TCP options in 1 header
  • 2122: decouple TcpTxBuffer variables
  • 2264: Possibility to setup Initial Sequence Number
  • 1529: randomize TCP initial sequence number
  • 2285: loss of TCP 3-way handshake calls receive callback to fire
  • 1167: TCP socket deferring CLOSE forever
  • 2133: In TCP close procedure, assert fail when receive in FIN_WAIT_2
  • 2278: in TcpSocketBase, need to advance NextTxSequence
  • 2256: TCPTxBuffer should be able to tell BytesInFlight
  • 2220: RAM usage reduction through reduction of retx events
  • 2214: TCP ScheduleNow for data transfer
  • 1783: experiencing drops during FastRec causes Tcp cw to blow up

2) Try to merge as many remaining TCP congestion control variants as are ready or nearly ready.

3) work on SACK: https://codereview.appspot.com/283880043/

  • General Scoreboard
  • Tcp option SACK management
  • Tcp option SACK implementation

MPTCP will not be merged for ns-3.26.

traffic-control module

Stefano Avallone (stavallo@unina.it) is leading ns-3.26 development for traffic control, and has the following goals:

  • Add support for Byte Queue Limits (in progress)
  • porting and polishing fq-codel (in progress)
  • reviewing PIE contribution (in progress)
  • introduce mq (a multi-queue queue disc configured by default on wifi, along with fq-codel)
  • user priorities and QoS API
  • provide a better solution for a couple of issues introduced by the requeue mechanism

lte module

To be determined

wifi module

To be determined

Release and development schedule

The following schedule is planned:

  • May 11, 2016: New feature deadline.
  • May 25, 2016: Planned code freeze date.
  • June 1, 2016: Scheduled release date for ns-3.26

Help wanted

If you would like to help prepare the ns-3.26 release in some way, please contact Tom Henderson (tomhend@u.washington.edu).

Also, please check back at a later date as specific tasks may be listed here.