Ns-3.26: Difference between revisions
Line 204: | Line 204: | ||
For application module, we have a backlog of contributed code reviews related to new applications: | 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: | 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 == | == uan module == |
Revision as of 23:29, 6 July 2016
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.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
Upgrade Waf and bake build systems according to this functional specification for supporting contributed codeDeferred to post-ns-3.26; no Waf changes are anticipated in the initial phase.
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 nodesMerged- 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 itUpdate: Patch to 2308 was applied, but issues were later found and the bug is reopened- 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 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, Vegas, YeAH, and Illinois 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.
- CUBIC
YeAH(merged)Illinois(merged)- H-TCP: http://mailman.isi.edu/pipermail/ns-developers/2016-April/013541.html
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 (see bug 2428)
- porting and polishing fq-codel (see bug 2430)
- 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 mechanismMerged
lte module
No major changes planned for ns-3.26. Base support for LAA Wifi Coexistence module will be added (Biljana). Deferred to post-ns-3.26
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)
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.
Sebastien Deronne is working on these extensions:
- support for 802.11e TXOP
- extension of MPDU aggregation and block ack support (multi-tid, delayed response, …)
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.
- DHCP support: https://www.nsnam.org/bugzilla/show_bug.cgi?id=2280
- increased support for ARP/ND changes in bug 2145
- Krishna's code from 2014 GSOC
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.
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)
Release and development schedule
The following schedule is planned (sliding about 5 weeks from original plan):
May 11, 2016June 22: New feature deadline.May 25, 2016July 1: Planned code freeze date.June 1, 2016July 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.