Difference between revisions of "Ns-3.22"

From Nsnam
Jump to: navigation, search
(Mobility Service Interface)
(Testing repos)
 
(43 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
 
This page summarizes the release planning for ns-3.22.  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.22.  The ns-3 release process is listed [http://www.nsnam.org/developers/release-process/ here] and [[Release Process | here]].
 +
 +
* Release candidate 1:  http://www.nsnam.org/release/ns-allinone-3.22.rc1.tar.bz2
  
 
= How you can help =
 
= How you can help =
Line 18: Line 20:
  
 
2) continue the transition to a [[BakeIntegration | more modular build system]].  While a major change to the build system is not planned for ns-3.22, one goal is to start to allow modules outside the core of ns-3 to be maintained in separate places, and integrated using the 'bake' tool (rather than merge everything into ns-3-dev).
 
2) continue the transition to a [[BakeIntegration | more modular build system]].  While a major change to the build system is not planned for ns-3.22, one goal is to start to allow modules outside the core of ns-3 to be maintained in separate places, and integrated using the 'bake' tool (rather than merge everything into ns-3-dev).
* A proposal can be found at [[ns-3.22-build]]
+
* <s>A proposal can be found at [[ns-3.22-build]]</s>  This milestone has slipped a release cycle; the page can now be found at [[Ns-3.23-build]].
  
 
3) merge (into ns-3-dev or to a bake-enabled repository) as many new features as we can get ready, including all remaining features from 2013 and 2014 GSOC and SOCIS projects, and 2014 summer projects
 
3) merge (into ns-3-dev or to a bake-enabled repository) as many new features as we can get ready, including all remaining features from 2013 and 2014 GSOC and SOCIS projects, and 2014 summer projects
Line 24: Line 26:
 
= Release and development schedule =
 
= Release and development schedule =
  
ns-3.22 is planned for mid-January, 2015.  ns-3 makes roughly three releases per year (Dec/Jan, Apr/May, and Aug/Sept timeframes).
+
ns-3.22 is planned for early February 2015.  An initial release candidate is available for testing:
  
This means that we ought to get most new features and major changes into the simulator by early December.
+
* http://www.nsnam.org/release/ns-allinone-3.22.rc1.tar.bz2
  
Already done items:
+
= Packaging =
 
+
 
+
* <s>Implementation for documenting TracedValue and TracedCallback signatures.</s>
+
* <s>patches from [https://www.nsnam.org/bugzilla/show_bug.cgi?id=938 938] Doxygen sprint</s>
+
* <s>UdpSocketImpl patch; bug [https://www.nsnam.org/bugzilla/show_bug.cgi?id=1957 1957]</s>
+
* <s>HOWTO documentation update [https://www.nsnam.org/bugzilla/show_bug.cgi?id=1343 1343]</s>
+
* <s>Remove deprecated code [https://www.nsnam.org/bugzilla/show_bug.cgi?id=1945 (bug 1945)]</s>
+
** <s>Described in: http://mailman.isi.edu/pipermail/ns-developers/2014-September/012296.html</s>
+
* <s>Patch stats data collection module:  bugs [https://www.nsnam.org/bugzilla/show_bug.cgi?id=1997 1997] and [https://www.nsnam.org/bugzilla/show_bug.cgi?id=1998 1998]</s>
+
* 802.11n patches from Sebastien Derrone
+
** <s>[https://www.nsnam.org/bugzilla/show_bug.cgi?id=1968 1968]</s>
+
** <s>[https://www.nsnam.org/bugzilla/show_bug.cgi?id=1970 1970]</s>
+
* <s>upgrade waf from 1.7.13 to 1.7.16</s>
+
* <s>[https://www.nsnam.org/bugzilla/show_bug.cgi?id=1791 bug 1791], Tcp socket never deallocates when closing</s>
+
* 802.11n patches from Sebastien Derrone
+
** <s>[https://www.nsnam.org/bugzilla/show_bug.cgi?id=1971 1971]</s>
+
* <s>build.py documentation [https://www.nsnam.org/bugzilla/show_bug.cgi?id=1326 1326]</s>
+
* <s>remove redefinition of PI, use M_PI [https://www.nsnam.org/bugzilla/show_bug.cgi?id=1995 1995]</s>
+
* <s>Wifi configure 802.11n patch [https://www.nsnam.org/bugzilla/show_bug.cgi?id=1906 bug 1906]</s>
+
* <s>Minstrel patch: https://codereview.appspot.com/59710043/ (also fixes [https://www.nsnam.org/bugzilla/show_bug.cgi?id=1726 bug 1726] and [https://www.nsnam.org/bugzilla/show_bug.cgi?id=1989 bug 1989])</s>
+
* <s>Fix waf --enable-gcov option [https://www.nsnam.org/bugzilla/show_bug.cgi?id=1583 bug 1583]</s>
+
* <s>Radvd do not consider the SendAdvert option and don't reply to RS [https://www.nsnam.org/bugzilla/show_bug.cgi?id=2016 bug 2016]</s>
+
* <s>802.11n error rates [https://www.nsnam.org/bugzilla/show_bug.cgi?id=1758 bug 1758]</s>
+
* <s>Erroneous MCS field for 802.11n [https://www.nsnam.org/bugzilla/show_bug.cgi?id=2020 bug 2020]</s>
+
* <s>add Packet::ToString() [https://www.nsnam.org/bugzilla/show_bug.cgi?id=2019 bug 2019]</s>
+
 
+
Some upcoming plans:
+
 
+
== week of Dec 1 ==
+
 
+
== week of Dec 8 (or later) ==
+
 
+
* 802.11n patches from Sebastien Derrone
+
** [https://www.nsnam.org/bugzilla/show_bug.cgi?id=1969 1969]
+
* deheader ns-3 [https://www.nsnam.org/bugzilla/show_bug.cgi?id=1832 1832]
+
** note, this may take some time to work through and test the large patch
+
* enable Wstrict-overflow=5 for gcc versions > 4.8.2 [https://www.nsnam.org/bugzill/show_bug.cgi?id=1868 bug 1868]
+
 
+
= Packaging =  
+
  
 
ns-3.22 will be packaged as a source tarball as before:  ns-allinone-3.22.tar.bz2.
 
ns-3.22 will be packaged as a source tarball as before:  ns-allinone-3.22.tar.bz2.
Line 99: Line 62:
 
= Testing repos =
 
= Testing repos =
  
Some repositories, based on a recent copy of ns-3-dev, are available for testing specific features.
+
Some repositories, based on a recent copy of ns-3-dev, are available for testing specific features. '''Note:''' the below two features have slipped to ns-3.23.
 
+
== WAVE and vehicular networks ==
+
 
+
A repository to test [[Ns-3.22#Vehicular_networks | 1609.4 WAVE code and vanet-routing-compare example]] features is available here:
+
* hg clone http://code.nsnam.org/tomh/ns-3-dev-wave
+
* once built, you can run these new examples:
+
<nowiki>
+
$ ./waf --run vanet-routing-compare
+
$ ./waf --run wave=simple-device
+
$ ./test.py -s wave-mac-extension
+
</nowiki>
+
  
 
== Mobility Service Interface ==
 
== Mobility Service Interface ==
  
 
Tiago Cerqueria has posted some code that uses Google Maps and Directions API to fetch waypoints for the ns-3 waypoint mobility model, corresponding to real-world routes provided by the service.  There is a testing repository available for this code (the patchset in https://codereview.appspot.com/176430044/ is too large to download from Rietveld).  To test, one must obtain an API key from Google, as described in the code review issue.  One must also have installed GeographicLib, xerces-cpp, libcurl, and libdl.
 
Tiago Cerqueria has posted some code that uses Google Maps and Directions API to fetch waypoints for the ns-3 waypoint mobility model, corresponding to real-world routes provided by the service.  There is a testing repository available for this code (the patchset in https://codereview.appspot.com/176430044/ is too large to download from Rietveld).  To test, one must obtain an API key from Google, as described in the code review issue.  One must also have installed GeographicLib, xerces-cpp, libcurl, and libdl.
<nowiki>
+
<pre>
 
hg clone http://code.nsnam.org/ns-3-dev
 
hg clone http://code.nsnam.org/ns-3-dev
 
cd ns-3-dev/src
 
cd ns-3-dev/src
Line 124: Line 76:
 
cd ../../
 
cd ../../
 
./waf configure ...
 
./waf configure ...
</nowiki>
+
</pre>
  
= New features =
+
== CSMA full duplex ==
  
Developers are working or planning to work on the following new features for ns-3.22'''Note:''' there is no guarantee that the features will be finished by the end of the year, so check back for progress/status.
+
There was a previous [https://codereview.appspot.com/5615049/ code review issue] on a switched ethernet device, which gradually led to an alternative proposal to extend the existing CSMA model (half-duplex) to full duplexThere is now a separate [https://codereview.appspot.com/187880044/ code review issue] for this patch.  The following repo is being kept in sync with the codereview issue.
 +
<pre>
 +
hg clone http://code.nsnam.org/tomh/ns-3-dev-csmafd
 +
</pre>
  
=== Changes to the simulation core ===
+
= New features =
 
+
Higher priority:
+
* [[Python3_Project | Python 3 support]] (Siddharth Sankurdar)
+
** '''Synopsis:'''  ns-3 is Python 2 based, and must be upgraded to support both Python 2 and 3
+
* Shared RngStream (Peter Barnes)
+
** '''Synopsis:'''  Add API to allow multiple random variables to share an underlying RNG stream
+
** https://codereview.appspot.com/114060043/
+
 
+
Lower priority:
+
* Discuss changes due to Object Start/Stop discussion held at [http://www.nsnam.org/docs/meetings/ns-3-developer-meeting-notes-May14.pdf May developers meeting].
+
** This will likely slip until ns-3.23 release cycle.
+
* Changes to better support [[Ns-3_on_Visual_Studio_2012 | ns-3 on Windows Visual Studio]]
+
** https://codereview.appspot.com/8932044/
+
** This may slip until ns-3.23 release cycle.
+
 
+
''' Others to be determined'''
+
 
+
=== Statistics ===
+
 
+
* Add a basic statistics collector, and convert some existing stats helpers in LTE and WiFi to use the statistics framework (Tom Henderson and Li Li)
+
** A staging repository (containing the BasicStatsCollector and other collector types) is being kept at http://code.nsnam.org/safe/ns-3.21-collector
+
 
+
=== Internet module ===
+
 
+
* An implementation of MLDv2 for IPv6 (Krishna Teja Yadavalli and Tommaso Pecorella)
+
** http://www.nsnam.org/wiki/GSOC2014MulticastIPv6
+
** https://codereview.appspot.com/121680043/
+
 
+
A number of changes relate to supporting AQM and ECN.  This code may end up in the internet module or a new 'internet-queues' module.
+
* Move RED queue from network module to internet module
+
* pfifo_fast queue module
+
** Some code (lacking IPv6 support, and Sphinx documentation) is staged here:  http://code.nsnam.org/tomh/ns-3-dev-aqm/rev/4e1543dc9d68
+
* Explicit Congestion Notification
+
** Brian Swenson started to implement it here: http://code.nsnam.org/brian/ns-3-dev/diff/a9858c40b539/src/internet/model/red-queue.cc
+
* FQ-Codel and SFQ-Codel models  (Anh Nguyen and Dave Taht)
+
** http://www.nsnam.org/wiki/GSOC2014Bufferbloat
+
** This will require some refactoring to allow AQM queues that need access to the IP and transport headers to get access at the layer at which ns3::Queue operates
+
 
+
=== TCP ===
+
 
+
* TCP variants for satellite networks (Natale Patriciello)
+
** https://codereview.appspot.com/122010043/
+
 
+
The following were mentioned in the past but don't seem to be actively worked at the moment:
+
* RttEstimator improvements (Natale Patriciello)
+
* Multipath TCP ([mailto:M.Kheirkhah@sussex.ac.uk Morteza Kheirkhah Sabetghadam])
+
 
+
=== WiFi ===
+
 
+
* MPDU aggregation for 802.11n ([mailto:sebastien.deronne@gmail.com Sebastien Deronne] and [mailto:gbadawy@gmail.com Ghada Badawy], and others)
+
** https://codereview.appspot.com/164020043 (replacing previous review at https://codereview.appspot.com/14549044/)
+
 
+
=== Vehicular networks ===
+
 
+
'''Note:''' There is a 'testing repository' available to test Scott's example and Junling's WAVE code; see [[Ns-3.22#Testing_repos]].
+
 
+
* WAVE for 802.11 vehicular networks (Scott Carpenter and Junling Bu)
+
** Finish off the 2013 GSoC code merging
+
* VANET example (Scott Carpenter)
+
** https://codereview.appspot.com/103470050/
+
* [[RoutesMobilityModel | Routes Mobility Model]] (Tiago Cerqueira)
+
 
+
=== Delay-tolerant networking ===
+
 
+
* Self-Delimiting Numeric Values (Dizhi Zhou and Ruben Martinez)
+
** https://codereview.appspot.com/97540043/
+
* Licklider Transport Protocol (Ruben Martinez)
+
* Bundle Protocol from SOCIS 2013 (Dizhi Zhou)
+
 
+
=== DSR ===
+
 
+
* LEAR extensions https://codereview.appspot.com/96130043/
+
 
+
=== CSMA improvements ===
+
* https://codereview.appspot.com/109450044/ (Mehdi Moussouni)
+
 
+
=== Epidemic Routing ===
+
* https://codereview.appspot.com/13831049/
+
 
+
=== UAN WOSS ===
+
* https://codereview.appspot.com/14677043/
+
 
+
=== Satellite models ===
+
* http://mailman.isi.edu/pipermail/ns-developers/2014-June/012071.html
+
 
+
== Software maintenance issues ==
+
* <s>[https://www.nsnam.org/bugzilla/show_bug.cgi?id=1945 Remove emu module from codebase (1945)] (Tom Henderson)</s>
+
* [https://www.nsnam.org/bugzilla/show_bug.cgi?id=1770 Mesh test crashes for certain configurations]
+
* [https://www.nsnam.org/bugzilla/show_bug.cgi?id=1900 Time arithmetic consistency]
+
* [https://www.nsnam.org/bugzilla/show_bug.cgi?id=1868 Wstrict-overflow and gcc-4.9] (Tom Henderson and Peter Barnes)
+
* [https://www.nsnam.org/bugzilla/show_bug.cgi?id=1941 Remove unnecessary dependency on Application module in other modules (1941)] Tommaso Pecorella
+
** Cleanup of remaining modules unnecessarily dependent on applications (aodv, mesh, olsr, lte)
+
 
+
== Documentation improvements ==
+
* [https://www.nsnam.org/bugzilla/show_bug.cgi?id=1490 improve documentation on linking ns-3 with other libraries] (Tom Henderson)
+
 
+
''others to be determined''
+
 
+
== Bugs or issues in ns-3 core ==
+
 
+
* [https://www.nsnam.org/bugzilla/show_bug.cgi?id=1962 RandomVariableStream::GetStream returns -1 for all automatically assigned streams (1962)] Peter Barnes
+
* Close [https://www.nsnam.org/bugzilla/show_bug.cgi?id=954 Changing the simulation time resolution does not work well with attributes (954)] ?
+
* Close [https://www.nsnam.org/bugzilla/show_bug.cgi?id=764 feature request: non-doxygen trace source introspection program needed] with status Resolved?
+
 
+
== Bugs in models to fix ==
+
  
'' To be determined ''
+
No further features are planned.  Check the [http://code.nsnam.org/ns-3-dev/file/2ebe49d34182/RELEASE_NOTES release notes] for a list of changes found in ns-3.22.

Latest revision as of 05:41, 3 February 2015

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.22. The ns-3 release process is listed here and here.

How you can help

The release manager is Tom Henderson. Please contact him if you would like to participate in any way in preparing the ns-3.22 release.

If you are interested in testing a particular feature that is planned for ns-3.22, see the section on this page for testing repos.

If you are interested in helping with a code review of a specific feature that you'd like to see in ns-3.22, please leave your comments on the code review pertaining to the feature of interest.

If you are interested to see that a specific bug be fixed, please email ns-developers mailing list, or the release manager. You will probably be asked to help with creating a patch or testing an existing patch for that bug, if so.

Release goals

1) make a major dent in the bug tracker. Can we clean out most issues on our actively maintained modules, including closing out feature requests for which we do not have anyone working on them?

2) continue the transition to a more modular build system. While a major change to the build system is not planned for ns-3.22, one goal is to start to allow modules outside the core of ns-3 to be maintained in separate places, and integrated using the 'bake' tool (rather than merge everything into ns-3-dev).

3) merge (into ns-3-dev or to a bake-enabled repository) as many new features as we can get ready, including all remaining features from 2013 and 2014 GSOC and SOCIS projects, and 2014 summer projects

Release and development schedule

ns-3.22 is planned for early February 2015. An initial release candidate is available for testing:

Packaging

ns-3.22 will be packaged as a source tarball as before: ns-allinone-3.22.tar.bz2.

The tarball will contain:

  • Latest version of pybindgen
  • Latest version of netanim
  • ns-3.22
  • bake

where bake is used to fetch optional ns-3 components, including DCE.

A patch from ns-3.21 to ns-3.22 will also be posted.

Whether ns-3.22 is prepared in other packaging (e.g. Debian) would require a volunteer to prepare this.

Whether ns-3.22 will be distributed also as a Docker container would require a volunteer to prepare this.

Release platforms

We usually try to keep pace with the latest popular versions of Linux, OS X, and FreeBSD. For the ns-3.22 release, we plan to support the following systems and compilers:

  • OS X 10.10 Yosemite with latest Xcode
  • Ubuntu 14.04 and 14.10 (gcc-4.8, 4.9)
  • Fedora 20 and 21 (gcc-4.8, 4.9)
  • Debian 7 (gcc-4.9)
  • FreeBSD 10.1 (clang 3)
  • CentOS 6.6 (gcc-4.4.7)
  • some legacy platforms (to be determined); likely older Ubuntu LTS and CentOS systems, and OS X 10.9

Testing repos

Some repositories, based on a recent copy of ns-3-dev, are available for testing specific features. Note: the below two features have slipped to ns-3.23.

Mobility Service Interface

Tiago Cerqueria has posted some code that uses Google Maps and Directions API to fetch waypoints for the ns-3 waypoint mobility model, corresponding to real-world routes provided by the service. There is a testing repository available for this code (the patchset in https://codereview.appspot.com/176430044/ is too large to download from Rietveld). To test, one must obtain an API key from Google, as described in the code review issue. One must also have installed GeographicLib, xerces-cpp, libcurl, and libdl.

hg clone http://code.nsnam.org/ns-3-dev
cd ns-3-dev/src
hg clone http://code.nsnam.org/tomh/mobility-service-interface
cd mobility-service-interface
mkdir conf
# copy your API key to this conf directory as described here https://codereview.appspot.com/176430044/
cd ../../
./waf configure ...

CSMA full duplex

There was a previous code review issue on a switched ethernet device, which gradually led to an alternative proposal to extend the existing CSMA model (half-duplex) to full duplex. There is now a separate code review issue for this patch. The following repo is being kept in sync with the codereview issue.

hg clone http://code.nsnam.org/tomh/ns-3-dev-csmafd

New features

No further features are planned. Check the release notes for a list of changes found in ns-3.22.