tomh@421: tomh@421: ns-3 RELEASE NOTES tomh@421: tomh@657: This file contains ns-3 release notes (most recent releases first). tomh@421: tomh@3687: All of the ns-3 documentation is accessible from the ns-3 website: tomh@3687: http://www.nsnam.org tomh@3687: including tutorials: tomh@3687: http://www.nsnam.org/tutorials.html tomh@3687: mk@4412: Release 3.5 mk@4412: =========== mk@4412: mk@4412: Availability mk@4412: ------------ mathieu@4612: This release is immediately available from: ahippo@4636: http://www.nsnam.org/releases/ns-allinone-3.5.tar.bz2 mathieu@4612: mathieu@4612: Supported platforms mathieu@4612: ------------------- mathieu@4634: ns-3.5 has been tested on the following platforms: mathieu@4612: - linux x86 gcc 4.2, 4.1, and, 3.4.6. mathieu@4612: - linux x86_64 gcc 4.4.0, 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6 mathieu@4612: - MacOS X ppc and x86 (gcc 4.0.x and 4.2.x) mathieu@4612: - cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized) mathieu@4612: - mingw gcc 3.4.5 (debug only) mathieu@4612: mathieu@4612: Not all ns-3 options are available on all platforms; consult the mathieu@4612: wiki for more information: mathieu@4612: http://www.nsnam.org/wiki/index.php/Installation mk@4412: mk@4412: New user-visible features mk@4412: ------------------------- mk@4412: mathieu@4471: a) 802.11 MAC: mathieu@4471: - EDCA multi-qos-class support (Mirko Banchi) mathieu@4471: - 802.11n initial support for A-MSDU frame aggregation (Mirko Banchi) mathieu@4471: - aarf-cd and cara rate control algorithms (Federico Maguolo) mathieu@4471: b) 802.11 PHY: mathieu@4471: - 802.11b PHY support (Gary Pei) mathieu@4471: - Nakagami propagation loss model (Timo Bingmann) nbaldo@4492: - radiotap and prism headers for PCAP output (Nicola Baldo) mathieu@4612: c) RandomVariable: mathieu@4612: - GammaVariable and ErlangVariable (Timo Bingmann) mathieu@4612: - ZipfVariable (Francesco Malandrino) mathieu@4612: d) UdpEcho: allows setting the payload of echo packets mathieu@4612: e) Ipv4/Ipv4RoutingProtocol: allow fine-grained control over mathieu@4612: routing policy and arbitrary composition of routing protocols mk@4412: mk@4412: API changes from ns-3.4 mk@4412: ----------------------- tomh@4475: API changes for this release are documented in the file CHANGES.html. The tomh@4475: internal API and composition of the IPv4 stack underwent significant tomh@4475: refactoring in this release cycle. mk@4412: mathieu@4612: Known issues mathieu@4612: ------------ mathieu@4612: ns-3 build is known to fail on the following platforms: mathieu@4612: - gcc 3.3 and earlier mathieu@4612: - optimized builds on gcc 3.4.4 and 3.4.5 mathieu@4612: - optimized builds on linux x86 gcc 4.0.x mathieu@4612: mathieu@4612: Future releases mathieu@4612: --------------- mathieu@4612: Our next release, which is expected to happen in 2 to 4 months from now, will mathieu@4612: feature the merging of some of our projects currently in development including mathieu@4612: fuller IPv6 support, and some smaller features such as a new Global ARP package mathieu@4612: and possibly a new Testing and Validation suite. mathieu@4612: craigdo@4303: Release 3.4 craigdo@4303: =========== tomh@3466: mathieu@3652: Availability mathieu@3652: ------------ mathieu@3652: This release is immediately available from: ahippo@4636: http://www.nsnam.org/releases/ns-allinone-3.4.tar.bz2 mathieu@4081: mathieu@4081: Supported platforms mathieu@4081: ------------------- craigdo@4302: ns-3.4 has been tested on the following platforms: mathieu@4081: - linux x86 gcc 4.2, 4.1, and, 3.4.6. mathieu@4081: - linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6 mathieu@4081: - MacOS X ppc and x86 mathieu@4081: - cygwin gcc 3.4.4 (debug only) mathieu@4081: mathieu@4081: Not all ns-3 options are available on all platforms; consult the mathieu@4081: wiki for more information: mathieu@4081: http://www.nsnam.org/wiki/index.php/Installation mathieu@4081: mathieu@4081: New user-visible features mathieu@4081: ------------------------- mathieu@4081: a) Wifi models: Timo Bingman contributed a ThreeLogDistance and a Nakagami mathieu@4081: propagation loss model based on the ns-2 models. Fabian Mauchle contributed mathieu@4081: multicast support. mathieu@4081: craigdo@4302: b) Object Name Service: A facility allowing ns-3 Objects to be assigned craigdo@4302: names has been added. craigdo@4302: craigdo@4302: c) Tap Bridge: A second option for integrating ns-3 with real-world hosts craigdo@4302: has been added. This allows for real hosts to talk over ns-3 net devices craigdo@4302: and simulated networks. craigdo@4302: craigdo@4302: d) A new build option (ns-3-allinone) has been provided to make it easier for craigdo@4302: users to download and bulid commonly used ns-3 configurations. craigdo@4302: craigdo@4302: e) The ns-3 calendar queue scheduler has been ported to ns-3. craigdo@4302: craigdo@4302: f) XML support has been added to the ConfigStore. mathieu@4081: mathieu@4081: API changes from ns-3.3 mathieu@4081: ----------------------- mathieu@4081: API changes for this release are documented in the file CHANGES.html mathieu@4081: mathieu@4081: Known issues mathieu@4081: ------------ mathieu@4081: ns-3 build is known to fail on the following platforms: mathieu@4081: - gcc 3.3 and earlier mathieu@4081: - optimized builds on gcc 3.4.4 and 3.4.5 mathieu@4081: - optimized builds on linux x86 gcc 4.0.x mathieu@4081: - optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2 mathieu@4081: - MinGW mathieu@4081: mathieu@4081: The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes mathieu@4081: in preparation of the merge of the IPv6 API and implementation. mathieu@4081: mathieu@4081: Future releases mathieu@4081: --------------- mathieu@4081: Our next release, which is expected to happen in 2 to 4 months from now, will mathieu@4081: feature the merging of some of our projects currently in development including mathieu@4081: fuller IPv6 support, and IPv4 and routing protocol refactoring, and some smaller craigdo@4303: features such as a new Global ARP package and possibly a new Testing and Validation craigdo@4303: suite, mathieu@4081: mathieu@4081: Release 3.3 mathieu@4081: =========== mathieu@4081: mathieu@4081: Availability mathieu@4081: ------------ mathieu@4081: This release is immediately available from: craigdo@3967: http://www.nsnam.org/releases/ns-3.3.tar.bz2 craigdo@3967: craigdo@3967: Supported platforms craigdo@3967: ------------------- craigdo@4303: ns-3.3 has been tested on the following platforms: craigdo@3967: - linux x86 gcc 4.2, 4.1, and, 3.4.6. craigdo@3967: - linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6 craigdo@3967: - MacOS X ppc and x86 craigdo@3967: - cygwin gcc 3.4.4 (debug only) craigdo@3967: craigdo@3967: Not all ns-3 options are available on all platforms; consult the craigdo@3967: wiki for more information: craigdo@3967: http://www.nsnam.org/wiki/index.php/Installation craigdo@3967: craigdo@3967: New user-visible features craigdo@3967: ------------------------- craigdo@3967: a) Emulated Net Device craigdo@3967: A new net device has been added as enabling technology for ns-3 emulation craigdo@3967: scenarios. See src/devices/emu and examples/emu-udp-echo.cc for details. craigdo@3967: craigdo@3967: b) ICMP Support craigdo@3967: Support for several ICMP messages has been added to ns-3. See craigdo@3967: src/internet-stack/icmpv4.h for details. craigdo@3967: craigdo@3967: c) IPv6 Address Support craigdo@3967: New clases to support IPv6 addresses has been added to the system. This craigdo@3967: is enabling technology for fuller IPv6 support scheduled for ns-3.4. craigdo@3967: tomh@3982: d) A flow-id tag has been added to the contributed code section tomh@3982: tomh@3982: e) Star topologies can be created from the topology helper functions tomh@3982: tomh@3982: f) The global routing code has been made dynamic (not just limited to tomh@3982: (pre-simulation computation) and supports stub network interfaces and tomh@3982: bridge net devices tomh@3982: tomh@3982: g) A MatchContainer has been added to the configuration subsystem tomh@3982: craigdo@3967: API changes from ns-3.2 craigdo@3967: ----------------------- craigdo@3967: API changes for this release are documented in the file CHANGES.html craigdo@3967: craigdo@3967: Known issues craigdo@3967: ------------ craigdo@3967: ns-3 build is known to fail on the following platforms: craigdo@3967: - gcc 3.3 and earlier craigdo@3967: - optimized builds on gcc 3.4.4 and 3.4.5 craigdo@3967: - optimized builds on linux x86 gcc 4.0.x craigdo@3967: - optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2 craigdo@3967: - MinGW craigdo@3967: craigdo@3967: The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes craigdo@3967: in preparation of the merge of the IPv6 API and implementation. craigdo@3967: craigdo@3967: Future releases craigdo@3967: --------------- craigdo@3967: Our next release, which is expected to happen in 2 to 4 months from now, will craigdo@3967: feature the merging of some of our projects currently in development including craigdo@3967: fuller IPv6 support, and IPv4 and routing protocol refactoring, and some smaller craigdo@3967: features such as an object naming facility and a new Global ARP package. craigdo@3967: craigdo@3967: Release 3.2 craigdo@3967: =========== craigdo@3967: craigdo@3967: Availability craigdo@3967: ------------ craigdo@3967: This release is immediately available from: mathieu@3652: http://www.nsnam.org/releases/ns-3.2.tar.bz2 mathieu@3652: tomh@3687: Supported platforms tomh@3687: ------------------- tomh@3687: ns-3.2 has been tested on the following platforms: tomh@3687: - linux x86 gcc 4.2, 4.1, and, 3.4.6. tomh@3687: - linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6 tomh@3687: - MacOS X ppc and x86 tomh@3687: - cygwin gcc 3.4.4 (debug only) mathieu@3652: tomh@3687: Not all ns-3 options are available on all platforms; consult the tomh@3687: wiki for more information: tomh@3687: http://www.nsnam.org/wiki/index.php/Installation tomh@3466: mathieu@3652: New user-visible features mathieu@3652: ------------------------- mathieu@3652: a) Learning bridge (IEEE 802.1D) mathieu@3652: It is now possible to bridge together multiple layer 2 devices to mathieu@3652: create larger layer 2 networks. The Wifi and Csma models support mathieu@3652: this new mode of operation. (contributed by Gustavo Carneiro) mathieu@3652: mathieu@3652: b) Python bindings mathieu@3652: It is now possible to write simulation scripts in python using our mathieu@3652: python bindings (contributed by Gustavo Carneiro). mathieu@3652: mathieu@3652: c) Real-time simulator mathieu@3652: It is now possible to run simulations synchronized on the real-world mathieu@3652: wall-clock time (contributed by Craig Dowell). mathieu@3652: craigdo@3706: d) Network Simulation Cradle craigdo@3706: It is now possible to use the Network Simulation Cradle mathieu@3652: (http://www.wand.net.nz/~stj2/nsc/) in ns-3 and run simulations mathieu@3652: using various versions of kernel TCP network stacks. (contributed mathieu@3652: by Florian Westphal as part of his Google Summer of Code work) tomh@3466: mathieu@3652: e) A statistics framework mathieu@3652: Joseph Kopena contributed a statistics framework which can be used mathieu@3652: keep track of simulation data in persistent storage across multiple mathieu@3652: runs (database and ascii file backends are available). mathieu@3652: More information on the wiki: mathieu@3652: http://www.nsnam.org/wiki/index.php/Statistical_Framework_for_Network_Simulation gjc@3465: tomh@3687: API changes from ns-3.1 tomh@3687: ----------------------- tomh@3687: API changes for this release are documented in the file CHANGES.html gjc@3465: mathieu@3652: Known issues mathieu@3652: ------------ tomh@3687: ns-3 build is known to fail on the following platforms: mathieu@3652: - gcc 3.3 and earlier mathieu@3652: - optimized builds on gcc 3.4.4 and 3.4.5 mathieu@3652: - optimized builds on linux x86 gcc 4.0.x craigdo@3684: - optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2 craigdo@3684: - MinGW mathieu@3652: mathieu@3652: The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes mathieu@3652: in preparation of the merge of the IPv6 API and implementation. gjc@3465: mathieu@3652: Future releases mathieu@3652: --------------- mathieu@3652: Our next release, which is expected to happen in 2 to 4 months from now, will mathieu@3652: feature the merging of some of our projects currently in development: IPv6, mathieu@3652: emulation, and synchronous posix sockets. gjc@3465: craigdo@3357: Release 3.1 (2008/06/30) craigdo@3279: ======================== craigdo@3361: craigdo@3361: The first ns-3 stable release craigdo@3361: ----------------------------- craigdo@3361: craigdo@3361: This release is immediately available from: craigdo@3361: http://www.nsnam.org/releases/ns-3.1.tar.bz2 craigdo@3361: craigdo@3361: We dedicate this initial ns-3 release to our late contributor and friend, craigdo@3361: Federico Maguolo. craigdo@3361: craigdo@3361: What is ns-3 ? craigdo@3361: -------------- craigdo@3361: craigdo@3361: ns-3 is a new discrete-event network simulator designed for supporting network craigdo@3361: research and education. ns-3 features a solid, well documented C++ core and craigdo@3361: models for TCP/IP (IPv4), several link types including WiFi, and mobility craigdo@3361: models. craigdo@3361: craigdo@3361: ns-3 is an open source project released under the GNU GPLv2 license which craigdo@3361: allows anyone to use ns-3 without having to pay any license fee or royalties. craigdo@3361: ns-3 is actively seeking new contributors to extend the range of supported craigdo@3361: models and/or to maintain existing models. craigdo@3361: craigdo@3361: Where to get more information about ns-3 craigdo@3361: ---------------------------------------- craigdo@3361: craigdo@3361: All the ns-3 documentation, is accessible from the ns-3 website: craigdo@3361: http://www.nsnam.org craigdo@3279: craigdo@3361: Including, tutorials: craigdo@3361: http://www.nsnam.org/tutorials.html craigdo@3361: craigdo@3361: Supported platforms craigdo@3361: ------------------- craigdo@3361: craigdo@3361: ns-3 is regularly tested on the following platforms: craigdo@3361: - linux x86 gcc 4.2, 4.1, and, 3.4.6. craigdo@3361: - linux x86_64 gcc 4.1.3, 4.2.1, 3.4.6 craigdo@3361: - MacOS X ppc and x86 craigdo@3361: - cygwin gcc 3.4.4 (debug only) craigdo@3361: craigdo@3361: Known issues craigdo@3361: ------------ craigdo@3279: craigdo@3361: ns-3 is known to fail on the following platforms: craigdo@3361: - gcc 3.3 and earlier craigdo@3361: - optimized builds on gcc 3.4.4 and 3.4.5 craigdo@3361: - optimized builds on linux x86 gcc 4.0.x craigdo@3361: craigdo@3361: The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes craigdo@3361: in preparation of the merge of the IPv6 API and implementation. craigdo@3361: craigdo@3361: Future releases craigdo@3361: --------------- craigdo@3361: craigdo@3361: Our next release, which is expected to happen in 2 to 4 months from now, will craigdo@3361: feature the merging of some of our projects currently in development: python craigdo@3361: scripting, IPv6, emulation, a statistics framework and synchronous posix craigdo@3361: sockets. craigdo@3279: tomh@3194: Release 3.0.13 (2008/06/02) craigdo@3361: =========================== tomh@3194: - point to point links generate ppp pcap traces tomh@3194: - point to point links support asymmetrical data rates. tomh@3194: - generate doxygen documentation for all attributes and trace sources tomh@3194: - add ConfigStore and GtkConfigStore to contrib module tomh@3194: - socket API now support tx and rx buffers: implemented for UDP and TCP tomh@3194: - ARP cache now supports per-entry pending queues tomh@3194: - lots of bugfixes and implementation and API cleanups tomh@3194: tomh@3196: Warning: among API changes in this release, Application::Start and tomh@3196: Application::Stop now interprets the time argument as a relative tomh@3196: instead of absolute simulation time, to align with how Simulator::Schedule tomh@3196: behaves. Any code that calls these APIs in the middle of the simulation tomh@3196: will need to be adapted. tomh@3196: tomh@3196: The API of Simulator::StopAt (time) has also changed. Now it is tomh@3196: called Simulator::Stop (time), and takes a relative time, instead of tomh@3196: absolute. tomh@3196: tomh@2891: Release 3.0.12 (2008/04/07) craigdo@3361: =========================== mathieu@2842: - Add Attribute support to the TypeId metadata system and add mathieu@2842: attribute support to all in-tree models mathieu@2842: - Add a mid-level helper API to build simulation topologies mathieu@2842: and perform simple ascii and pcap link-level tracing. mathieu@2842: - Large amount of structural changes to accomodate the needs mathieu@2842: of the upcoming python bindings mathieu@2842: - new rate control algorithm (RRAA) and a jakes propagation model mathieu@2842: in the 802.11 model (Federico Maguolo). tomh@2891: - regression test framework added tomh@2891: - TCP delayed acknowledgements and multitasking server mathieu@2842: mathieu@2337: Release 3.0.11 (2008/02/15) craigdo@3361: =========================== mathieu@2337: - Initial port of GTNetS TCP implementation (initial version mathieu@2337: that does not support multitasking or delayed acknowledgments yet, mathieu@2337: but supports a reliable stream service) mathieu@2337: - Changes to the ns-3 object model to create a TypeId-based mathieu@2337: metadata system mathieu@2337: - lots of bug fixes throughout the system mathieu@2337: - tutorial updates mathieu@2337: craigdo@2219: Release 3.0.10 (2008/01/15) craigdo@3361: =========================== craigdo@2219: - Add tutorial document content; craigdo@2219: - Valgrind option for "waf" tool; craigdo@2219: - Doxygen organization changes. tomh@2194: mathieu@2185: Release 3.0.9 (2007/12/15) craigdo@3361: ========================== mathieu@2185: - A 802.11 model ported from Yans. This model supports: mathieu@2185: * a rather extensive PHY model mathieu@2185: * log-distance and friis propagation model mathieu@2185: * a simple set of rate control algorithms (ARF, Ideal, mathieu@2185: AARF, constant-rate) mathieu@2185: * adhoc and infrastructure mode (beacon+assoc) tomh@2192: - Use smart pointer for Packet in the APIs tomh@2192: - A new contrib directory with helper classes: tomh@2192: EventGarbageCollector, Gnuplot tomh@2192: - Tracing support for Applications mathieu@2185: - many bugs fixed mathieu@2185: craigdo@1850: Release 3.0.8 (2007/11/15) craigdo@3361: ========================== craigdo@1850: - A simple error model craigdo@1850: - Source files for ns-3 tutorial craigdo@1850: tomh@1785: Release 3.0.7 (2007/10/15) craigdo@3361: ========================== tomh@1785: - OLSR routing protocol tomh@1785: - A timer class tomh@1785: - Additional mobility models (random waypoint, random 2D walk) tomh@1785: - A mobility visualization tool tomh@1785: tomh@1516: Release 3.0.6 (2007/09/15) craigdo@3361: ========================== tomh@1516: - Static multicast IPv4 routing tomh@1516: - Logging overhaul (NS_LOG macros) tomh@1516: - Refactoring of tracing subsystem tomh@1516: - Tutorial document started tomh@1516: tomh@1284: Release 3.0.5 (2007/08/15) craigdo@3361: ========================== mathieu@999: tomh@1284: - Refactoring to support win32-based unix environments (Cygwin, mingw) tomh@1284: - "Packet socket" for allowing applications to access NetDevices directly tomh@1284: - Generalized, polymorphic Address class tomh@1284: - Add CSMA NetDevice model (from Emmanuelle Laprise) tomh@1284: - Modularize IPv4 routing support (from Gustavo Carneiro) tomh@1284: - Add mobility framework and basic mobility models tomh@1284: - Global unicast centralized routing mathieu@999: tomh@929: Release 3.0.4 (2007/07/15) craigdo@3361: ========================== tomh@929: tomh@929: - Enable waf as the default build system. tomh@929: - Per-packet metadata: a system to track which headers and trailers tomh@929: are added to a packet tomh@929: - Simplifications to point-to-point devices and channel tomh@929: mathieu@759: Release 3.0.3 (2007/06/15) craigdo@3361: ========================== mathieu@759: mathieu@759: - Enable Waf for release tarballs: users can now build ns-3 mathieu@759: with the "waf" tool. See doc/build-waf.txt. mathieu@759: - Add support for variable time precision: it is now possible mathieu@759: to run a simulation with an accuracy which is higher or lower mathieu@759: than a nanosecond: seconds, milliseconds, microseconds, mathieu@759: femtoseconds and picoseconds are supported. mathieu@759: - Optimize and rework the COM framework, solidify the component mathieu@759: manager mathieu@759: - Many small API cleanups mathieu@759: tomh@657: Release 3.0.2 (2007/05/18) craigdo@3361: ========================== mathieu@635: mathieu@635: - Implement a new memory management infrastructure based mathieu@635: on reference counting and smart pointers (the latter being mathieu@635: optional) mathieu@635: mathieu@635: - Implement a COM-like framework with support for QueryInterface mathieu@635: to provide object extensibility mathieu@635: mathieu@635: - Add support for a BSD-style socket API for user applications mathieu@635: tomh@657: Release 3.0.1 (2007/03/31) craigdo@3361: ========================== tomh@421: tomh@421: - First public release; not yet pre-alpha. tomh@421: tomh@421: - Simple UDP-based simulation script (examples/simple-p2p.cc)