Ns-3.27: Difference between revisions

From Nsnam
Jump to navigation Jump to search
(start ns-3.27 page)
 
No edit summary
 
(42 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{TOC}}
{{TOC}}


This page summarizes the release planning for ns-3.27 (late summer or early fall 2016).  The ns-3 release process is listed [http://www.nsnam.org/developers/release-process/ here] and [[Release Process | here]].
This page summarizes the release planning for ns-3.27 (finally published on October 12, 2017).  The ns-3 release process is listed [http://www.nsnam.org/developers/release-process/ here] and [[Release Process | here]].


This page will be updated after ns-3.26 is finalized.
= 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 =
= Release goals =


The following goals have been carried over from ns-3.26 goals to keep track of goals that might miss [[ns-3.26 | that release]].
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 ==
== Build system ==


* Upgrade Waf and bake build systems according to [[BakeIntegration | this functional specification for supporting contributed code]]
* Upgrade Waf and bake build systems according to [[BakeIntegration | this functional specification for supporting contributed code]]
** goals met for ns-3.27
== Python bindings ==
* gccxml needs to be replaced by CastXML:  https://www.nsnam.org/bugzilla/show_bug.cgi?id=2451. 
** We have done so for ns-3.27, but the scanning process is no longer fully automated (needs further work)


== ns-3 core ==
== ns-3 core ==


For ns-3.26, only maintenance on core (dealing with bug reports/open issues) is planned.
These were not completed and may slide to ns-3.28.


Tom Henderson would like to finish off:
* Attribute/TraceSource deprecation (bugs 2149 and 2344)
* refactor chi-squared tests for random number generation (bug 1927)
* refactor chi-squared tests for random number generation (bug 1927)
* Matt's test.py contributions (bug 2291)
* Matt's test.py contributions (bug 2291)
* bug 2086 on attribute accessibility
* bug 1962 on random variable stream GetStream() returning -1
* bug 1962 on random variable stream GetStream() returning -1
* bug 1604 on Config::GetDefault
* bug 1604 on Config::GetDefault
Line 34: Line 39:
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.
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:
* 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
* <s>we apply the patch in bug 2308 (LTE) if the LTE maintainers approve it</s> <i>Update:  Patch to 2308 was applied, but issues were later found and the bug is reopened</i>
* 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 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 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 2198:  proposed const addition
Line 57: Line 48:
* bug 1535:  this Packet::AddAtEnd() in TCP is still around; the TCP buffers still use this
* bug 1535:  this Packet::AddAtEnd() in TCP is still around; the TCP buffers still use this
* bug 1407:  packet header printing disabled
* 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 models ==


Natale Patriciello, Anh Nguyen, Tom Henderson, Matthieu Coudron, and Amir Modarresi are working on the following.
TCP SACK and LEDBAT has been merged, along with a few bug fixes.


1) Open tracker issues
Natale Patriciello and contributors are working on the following.


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


2) Try to merge as many remaining TCP congestion control variants as are ready or nearly ready.
2) MPTCP is also in work but not for ns-3.27
* CUBIC
* H-TCP:  http://mailman.isi.edu/pipermail/ns-developers/2016-April/013541.html
 
3) work on SACK:  <s>https://codereview.appspot.com/283880043/</s> 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 ==
== 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 (see bug 2428)
* porting and polishing fq-codel (see bug 2430)
* reviewing [https://www.nsnam.org/bugzilla/show_bug.cgi?id=2261 PIE contribution] (in progress)
* introduce mq (a multi-queue queue disc configured by default on wifi, along with fq-codel)
* introduce mq (a multi-queue queue disc configured by default on wifi, along with fq-codel)
* [https://www.nsnam.org/bugzilla/show_bug.cgi?id=2241 user priorities and QoS API]
** This was merged to ns-3.27.
* <s>provide a better solution for a couple of issues introduced by the requeue mechanism</s> Merged


== lte module ==
== lte module ==


No major changes planned for ns-3.26<s>Base support for LAA Wifi Coexistence module will be added (Biljana).</s> <i> Deferred to post-ns-3.26</i>
* LTE RACH:  https://www.nsnam.org/bugzilla/show_bug.cgi?id=2300 (patch is very large-- Marco is reviewing)
** This was not merged for ns-3.27


With regard to two large patches previously proposed for code review, neither probably will make it to ns-3.26:
* LTE RACH:  https://www.nsnam.org/bugzilla/show_bug.cgi?id=2300  (patch is very large-- Marco is reviewing)
* Carrier Aggregation from Google Summer of Code 2015 (needs additional work)
* 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:
Tom and Tommaso will try to review and merge the IPv6 support:
* https://www.nsnam.org/bugzilla/show_bug.cgi?id=2312
* https://www.nsnam.org/bugzilla/show_bug.cgi?id=2312
** Note:  This was further developed in GSoC 2017.


=== lte maintenance items ===
=== lte maintenance items ===
Line 137: Line 121:


Wifi continues to undergo significant development activity.
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:
Sebastien Deronne is working on these extensions:
* [https://www.nsnam.org/bugzilla/show_bug.cgi?id=2381 support for 802.11e TXOP]
* HT Greenfield support
* extension of MPDU aggregation and block ack support (multi-tid, delayed response, …)
* extension of MPDU aggregation and block ack support (multi-tid, delayed response, …)


Tom Henderson 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 selecting best beacon to associate with (also, channel roaming)
* support for separate LAA Wifi Coexistence module
* 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 [https://codereview.appspot.com/254440043/ RRPAA rate control]
Matias Richart is working on [https://codereview.appspot.com/254440043/ RRPAA rate control]
** This was merged for ns-3.27


===wifi maintenance items===
Other items:
 
* Detection thresholds reworked (Seb/Tom)
Tom Henderson would like to accomplish the following:
* Wifi code cleanup/refactoring (Seb/Tom)
* 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:
current wifi issue list:
Line 173: Line 158:
* 1879 LR-WPAN association primitive
* 1879 LR-WPAN association primitive
* 1809 lr-wpan features needed
* 1809 lr-wpan features needed
== mesh ==
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 ==
== internet module ==
Line 180: Line 170:
* increased support for ARP/ND changes in bug 2145
* increased support for ARP/ND changes in bug 2145
* Krishna's code from 2014 GSOC
* Krishna's code from 2014 GSOC
See also the proposal to add TOS byte:
https://codereview.appspot.com/294280043/


=== maintenance issues for internet ===
=== maintenance issues for internet ===
Some recent internet bugs:
Some recent internet bugs:
- 2209 ICMP message forwarding not based in incoming interface
* 2209 ICMP message forwarding not based in incoming interface
- 2180 is possible to register same route multiple times
* 2180 is possible to register same route multiple times
- 2102 global routing and bridging is reopened
* 2064 UDP socket GetMtu() needed
- 2064 UDP socket GetMtu() needed
* 1984 expose additional random variables to configuration system
- 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 ==
== applications module ==
Line 214: Line 197:


Federico Guerra plans to integrate [https://www.nsnam.org/bugzilla/show_bug.cgi?id=2299 WOSS with the UAN module].
Federico Guerra plans to integrate [https://www.nsnam.org/bugzilla/show_bug.cgi?id=2299 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.
Hossam Khader has also been active with patches and new proposals; see issues 2404, 2405, 2410, 2413.
Line 220: Line 204:


Chip Webb is working on improving support for Ethernet (full duplex links, switches and mixed L2/L3 networks)
Chip Webb is working on improving support for Ethernet (full duplex links, switches and mixed L2/L3 networks)
= Release and development schedule =
TBD
= Help wanted =
If you would like to help prepare the ns-3.27 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.

Latest revision as of 16:03, 12 October 2017

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

mesh

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.

other

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