From Nsnam
Revision as of 06:45, 3 June 2016 by Tomh (Talk | contribs) (wifi module)

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; rescheduled to early July 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 Merged
  • 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 Update: Manuel Requena is finalizing a new patch, now that the SocketAddressTag issue is resolved.
  • 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:


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

  • bug 2415: PacketMetadata Class Locks up Example
  • bug 2407: Packet Metadata bad state with small packet size
  • 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/ Updated in late May to this issue: https://codereview.appspot.com/299130043/

  • 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

No major changes planned for ns-3.26. Base support for LAA Wifi Coexistence module will be added (Biljana).

With regard to two large patches previously proposed for code review, neither probably will make it to ns-3.26:

Tom and Tommaso will try to review and merge the IPv6 support:

lte maintenance items

Manuel Ricardo plans to work on bug 2308 (how tags are used) in May.

Biljana will coordinate the remaining LTE bug responses on a best-effort basis:

  • 2339: PUSCH transmit power scaled incorrectly
  • 2282: Resources from UDP flows not realized
  • 2277: EpcTftClassifier::Classify blindly assumes L4 header
  • 2172: Out-of-bounds array access
  • 2161: Error in removing a bearer in epc-mme class
  • 2152: Uplink HARQ retransmissions out of synch at MAC layer
  • 2151: Redundancy version in uplink HARQ not generated properly
  • 2140: TraceFadingLossModel could use a wrong value
  • 2113: LTE RLC AM: all status reports indicate no more than one NACK
  • 2107: PCAP printing for S1U and X2
  • 2091: Race condition in LteUePhy::GenerateCqiRsrpRsrq
  • 2048: PfFfMacScheduler assigns dlinfo even if no resources available
  • 1861: Problem when send UDP packet size between 1473-1478 bytes
  • 1840: SINR->CQI->MCS conversion in the UL
  • 1515: REM shows increased SINR when co-located eNBs have same EARFCN
  • 1460: LTE-EPC/RPM different SINR values
  • 1438: lena-simple-epc with AM mode

wifi module

Wifi continues to undergo significant development activity.

Sebastien Deronne is working on these extensions:

Tom Henderson is working on these extensions:

  • SpectrumWifiPhy (bug 2400)
  • TOS setting so that Wi-Fi QoS can read it (also Stefano Avallone has a proposal)
  • support for selecting best beacon to associate with (also, channel roaming)
  • support for separate LAA Wifi Coexistence module

Matias Richart is working on RRPAA rate control

wifi maintenance items

Tom Henderson would like to accomplish the following:

  • resolve bug 2369 on immediate access vs backoff
  • EDCA open bugs (2222, 2229)
  • allow mesh to run over 802.11n/ac

current wifi issue list: https://www.nsnam.org/bugzilla/buglist.cgi?component=wifi&product=ns-3&query_format=advanced&resolution=---

lr-wpan module

Tommaso is aiming to get Vishwesh's code merged from GSOC 2015.

Other than that, the following bugs are open:

  • 2088 SetMcpsDataIndicationCallback stops UDP data
  • 2033 IFS are not currently implemented
  • 1934 CCA interrupted by incoming packet
  • 1933 CCA mode should be configurable
  • 1924 sensing radius and CCA
  • 1879 LR-WPAN association primitive
  • 1809 lr-wpan features needed

internet module

Tommaso is coordinating the below new feature work.

See also the proposal to add TOS byte: https://codereview.appspot.com/294280043/

maintenance issues for internet

Some recent internet bugs: - 2209 ICMP message forwarding not based in incoming interface - 2180 is possible to register same route multiple times - 2102 global routing and bridging is reopened - 2064 UDP socket GetMtu() needed - 2057 ARP and NDISC caches should be updated by L4 - 1984 expose additional random variables to configuration system

bug 2057 is considered to be high priority

applications module

For application module, we have a backlog of contributed code reviews related to new applications:

- MPEG traffic generator - trace replay application - web browsing application

and we also have these maintenance issues:

- 2178 add Rx trace source to UdpEchoServer - 2111 add receiver timestamp to SeqTsHeader (we seem to have agreed to make a new header?) - 2106 add SetSocket API - 1977 v4ping verbose output when not explicitly stopped - 1899 add sequence number header (possibly related to 2111?)

uan module

Federico Guerra plans to integrate WOSS with the UAN module.


Chip Webb is working on improving support for Ethernet (full duplex links, switches and mixed L2/L3 networks)

Release and development schedule

The following schedule is planned (sliding about 5 weeks from original plan):

  • May 11, 2016 June 22: New feature deadline.
  • May 25, 2016 July 1: Planned code freeze date.
  • June 1, 2016 July 6: 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.