Ns-3.26

From Nsnam
Revision as of 20:48, 21 April 2016 by Tomh (Talk | contribs) (core and network 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.

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