From Nsnam
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.27 (finally published on October 12, 2017). The ns-3 release process is listed here and here.

Release status

ns-3.27 was published on October 12, 2017. ns-3.27 may be refreshed with maintenance releases (e.g. ns-3.27.1) depending on future improvements.

Release goals

Note: Not all goals were met; some will carry over to ns-3.28, and some may be abandoned due to lack of contribution.

Build system

Python bindings

ns-3 core

These were not completed and may slide to ns-3.28.

  • refactor chi-squared tests for random number generation (bug 1927)
  • Matt's test.py contributions (bug 2291)
  • bug 1962 on random variable stream GetStream() returning -1
  • 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.

  • bug 2505: Header::Deserialize
  • bug 2308 was reopened; see also 2361. Need to add a 'best current practice' note to the documentation, on tag usage
  • 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
  • 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)

TCP models

TCP SACK and LEDBAT has been merged, along with a few bug fixes.

Natale Patriciello and contributors are working on the following.

1) Open tracker issues (Last check in July 3.)

  • 2613: MaxRxSequence sometimes too large fixed
  • 2565: Do not wait 2*MSL to notify socket close (waiting for comments)
  • 2559: TCP advertised window. fixed
  • 2263: Support processing multiple TCP options in 1 header fixed
  • 2122: decouple TcpTxBuffer variables (wrong bug number? Right is 2112?)
  • 2264: Possibility to setup Initial Sequence Number (patch added)
  • 1529: randomize TCP initial sequence number
  • 2285: loss of TCP 3-way handshake calls receive callback to fire (patch added)
  • 1167: TCP socket deferring CLOSE forever
  • 2133: In TCP close procedure, assert fail when receive in FIN_WAIT_2 (patch added)
  • 2278: in TcpSocketBase, need to advance NextTxSequence
  • 2256: TCPTxBuffer should be able to tell BytesInFlight fixed
  • 2220: RAM usage reduction through reduction of retx events (patch added)
  • 2214: TCP ScheduleNow for data transfer fixed
  • 1783: experiencing drops during FastRec causes Tcp cw to blow up (patch added)

2) MPTCP is also in work but not for ns-3.27

traffic-control module

  • introduce mq (a multi-queue queue disc configured by default on wifi, along with fq-codel)
    • This was merged to ns-3.27.

lte module

  • Carrier Aggregation from Google Summer of Code 2015 (needs additional work)
    • This was merged for ns-3.27

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

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.

A high priority is the frame capture model: https://www.nsnam.org/bugzilla/show_bug.cgi?id=2368

    • This was merged for ns-3.27

Sebastien Deronne is working on these extensions:

  • HT Greenfield support
  • extension of MPDU aggregation and block ack support (multi-tid, delayed response, …)

Tom Henderson is working on these extensions:

  • support for selecting best beacon to associate with (also, channel roaming)
  • support for separate LAA Wifi Coexistence module
  • shepherd the WinLab packet capture model review
  • new SpectrumWifiPhy error models based on link-to-system mapping

Matias Richart is working on RRPAA rate control

    • This was merged for ns-3.27

Other items:

  • Detection thresholds reworked (Seb/Tom)
  • Wifi code cleanup/refactoring (Seb/Tom)

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


There is some difference of opinion whether this is mesh or Wi-Fi; it is probably a Wi-Fi bug triggered by a mesh use case.

  • 2326 False duplicate detection in MacRxMiddle

internet module

Tommaso is coordinating the below new feature work.

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
  • 2064 UDP socket GetMtu() needed
  • 1984 expose additional random variables to configuration system

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.

    • This was merged for ns-3.27.

Hossam Khader has also been active with patches and new proposals; see issues 2404, 2405, 2410, 2413.


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