1268 lines
53 KiB
Plaintext
1268 lines
53 KiB
Plaintext
|
|
ns-3 RELEASE NOTES
|
|
|
|
This file contains ns-3 release notes (most recent releases first).
|
|
|
|
All of the ns-3 documentation is accessible from the ns-3 website:
|
|
http://www.nsnam.org including tutorials: http://www.nsnam.org/tutorials.html
|
|
|
|
Consult the file CHANGES.html for more detailed information about changed
|
|
API and behavior across ns-3 releases.
|
|
|
|
Release 3.11
|
|
===========
|
|
|
|
Availability
|
|
------------
|
|
This release is not yet available.
|
|
|
|
Supported platforms
|
|
-------------------
|
|
ns-3.11 has been tested on the following platforms. Not all features are
|
|
available on all platforms; check the Installation page on the project wiki.
|
|
|
|
- Linux x86_64 Ubuntu 11.04
|
|
- g++-4.5.2
|
|
- Linux i686 Ubuntu 11.04
|
|
- g++-4.5.2, g++-4.4.5
|
|
- Linux x86_64 Fedora Core 15
|
|
- g++-4.6.0
|
|
- Linux x86_64 Fedora Core 14
|
|
- g++-4.5.3, g++-4.4.6, g++-4.3.4
|
|
- Linux x86_64 Fedora Core 10
|
|
- g++-3.4.6, 4.0.4, 4.1.2, 4.2.4, 4.3.2, 4.4.0
|
|
|
|
New user-visible features
|
|
-------------------------
|
|
|
|
- The build system has been modularized, and the source code reorganized,
|
|
to allow for modular libraries instead of a single monolithic ns-3
|
|
library. User programs now link a number of smaller, per-module
|
|
libraries depending on the dependencies expressed to the build system.
|
|
Source code is now being maintained in individual modules with
|
|
consistent directory structures.
|
|
|
|
- Python bindings have also been modularized, and the bindings are now
|
|
generated into a 'ns' namespace instead of 'ns3' for the old
|
|
(monolithic) bindings. By default the bindings are now modular, with
|
|
a backward compatibility layer for older programs.
|
|
|
|
- By default, example and test programs are disabled from the build.
|
|
Users can enable them via the use of a waf command at configure time,
|
|
or automatically through the use of a new .ns3rc file.
|
|
|
|
- int64x64_t is a new type which allows portable and easy to write arithmetic
|
|
calculations that require a high degree of fractional precision.
|
|
|
|
- An interface to the Click Modular Router and an Ipv4ClickRouting
|
|
class has been added, to allow a node to use Click for external routing.
|
|
|
|
- An interface to an OpenFlow software implementation distribution has
|
|
been added to allow the simulation of OpenFlow switches in ns-3.
|
|
|
|
- ns-3 coding style requirements have been applied to the entire coding
|
|
base, resulting in a large number of whitespace changes. The coding
|
|
style has been automatically enforced by running a style checking
|
|
program (utils/check-style.py) that uses the uncrustify (v. 0.58)
|
|
program to apply changes.
|
|
|
|
- Some documentation reorganization to split documentation between
|
|
the ns-3 manual (primarily focusing on the ns-3 core) and a new
|
|
"model library" document has been started.
|
|
|
|
Bugs fixed
|
|
----------
|
|
The following lists many of the bugs fixed or small feature additions
|
|
since ns-3.10, in many cases referencing the Bugzilla bug number.
|
|
|
|
- bugfix: CsmaNetDevice ErrorModel not discarding packet
|
|
- bugfix: do not call RouteOutput() twice
|
|
- Workaround gccxml bug scanning Seconds(0) as default value
|
|
- Copy a bug fix from ns3modulescan.py into ns3modulescan-modular.py
|
|
- Modular Python bindings work (many bug fixes, more modules tested)
|
|
- Modular bindings: bug fixes, more verbose scanning
|
|
- ./waf --apiscan: fix bug in detection of whether the per-module
|
|
- Remove the 'Modules to build' debug print
|
|
- CsmaNetDevice ReceiveErrorModel was not dropping the packet
|
|
- Several "set but not used" bugs for newer compilers quick-fixed
|
|
|
|
- bug 445 - Is the class name Scalar in nstime.h appropriate?
|
|
- bug 699 - TestCase::DoRun probably should not return a bool
|
|
- bug 957 - Issue with test.py
|
|
- bug 1017 - node --> internet-stack --> node
|
|
- bug 1018 - mobility --> helper --> mobility circular dependency
|
|
- bug 1019 - common --> node --> common circular dependency
|
|
- bug 1038 - Time::Get*Seconds () return signed integer while actually returning unsigned.
|
|
- bug 1040 - Olsr and multiple interfaces
|
|
- bug 1042 - AODV RERR implosion (missing RERR_RATELIMIT)
|
|
- bug 1044 - Seconds (1e-9) creates Time that is not IsPositive ()
|
|
- bug 1047 - Multicast routes on nodes with >16 interfaces
|
|
- bug 1048 - suggested MatrixPropagationLossModel::SetLoss() API change
|
|
- bug 1049 - Issues with OLSR HNA messages sent by multiple gateways
|
|
- bug 1052 - olsr::RoutingProtocol::LinkTupleUpdated incorrect detection of asymetric link with multiple interface nodes
|
|
- bug 1054 - ipv6 InternetStackHelper EnablePcapIpv6All() broken
|
|
- bug 1056 - CSMA: padding not handled correctly for LLC encapsulation
|
|
- bug 1058 - InternetStackHelper pitfall: calling Install before adding routing protocols
|
|
- bug 1060 - Setting NqStaWifiMac Active Probing true, crashes simulation
|
|
- bug 1061 - Title level inconsistent in click.rst
|
|
- bug 1062 - rescale-pdf not working
|
|
- bug 1064 - Correct Friis propagation loss equation in spectrum module
|
|
- bug 1066 - Set Radiotap modulation type flags correctly
|
|
- bug 1069 - ApWifiMac unduly calls RegularWifiMac::Receive and crashes
|
|
- bug 1070 - csma/ipv6 examples duplicate NS_LOG_COMPONENT_DEFINE
|
|
- bug 1072 - crash upon call to Packet::AddAtEnd of fragmented packets
|
|
- bug 1075 - Python examples fail when static built is enabled
|
|
- bug 1076 - Waf gives an error if you enable only a single module
|
|
- bug 1078 - PacketTagList::Add performs NS_ASSERT counting one byte too few
|
|
- bug 1079 - MPI code doesn't compile
|
|
- bug 1081 - wutils.py refers to the old directory for visualizer module
|
|
- bug 1083 - scratch doesn't work when only some modules are enabled
|
|
- bug 1085 - Build failed: list index out of range
|
|
- bug 1086 - sanity check for not calling Object::Dispose () twice
|
|
- bug 1087 - Call MPI_Finalize to exit MPI environment
|
|
- bug 1088 - Code in scratch directory assumes all modules are enabled
|
|
- bug 1089 - lwip build issue
|
|
- bug 1090 - WifiMacQueue is not accessible through the attribute path
|
|
- bug 1092 - Problem building FreeBSD stack with g++ 4.5.2 (Ubuntu)
|
|
- bug 1094 - Object::GetObject upon dlopen
|
|
- bug 1097 - AODV routing entry set to be VALID mistakenly.
|
|
- bug 1098 - when to show users which modules are enabled?
|
|
- bug 1101 - Sqlite stats disappeared from configuration file src/wscript
|
|
- bug 1103 - Useless assignment in omnet-data-output.cc
|
|
- bug 1105 - Move topology helpers into separate per-device modules
|
|
- bug 1106 - Remove "CanvasLocation" dependencies in p2p helpers
|
|
- bug 1108 - test.py -e option needs repair
|
|
- bug 1110 - Sort alphabetically and display "Modules built" in columns
|
|
- bug 1117 - bindings failures on selected platforms
|
|
- bug 1122 - spectrum-value test should check tolerance on a per-value basis
|
|
- bug 1125 - ./waf --enable-modules fails
|
|
- bug 1131 - Bug in Ipv4L3Protocol::RemoveAddress()
|
|
- bug 1133 - DSDV: Possible bug in settling time calc
|
|
- bug 1142 - Wrong 802.11p Slot time
|
|
- bug 1146 - help string for test.py with disabled tests
|
|
|
|
Known issues
|
|
------------
|
|
In general, known issues are tracked on the project tracker available
|
|
at http://www.nsnam.org/bugzilla/
|
|
|
|
Release 3.10
|
|
===========
|
|
|
|
Availability
|
|
------------
|
|
This release is available from:
|
|
http://www.nsnam.org/releases/ns-allinone-3.10.tar.bz2
|
|
|
|
Supported platforms
|
|
-------------------
|
|
ns-3.10 has been tested on the following platforms. Not all features are
|
|
available on all platforms; check the Installation page on the project wiki.
|
|
|
|
- Linux i686 Ubuntu 10.10
|
|
- g++-4.4.5
|
|
- Linux x86_64 Ubuntu 8.04.4
|
|
- g++-3.4.6, g++-4.2.4
|
|
- Linux x86_64 Fedora Core 12
|
|
- g++-4.4.4
|
|
- Linux x86_64 Fedora Core 10
|
|
- g++-3.4.6, 4.0.4, 4.1.2, 4.2.4, 4.3.4, 4.4.0
|
|
- OS X Snow Leopard
|
|
- g++-4.2.1
|
|
- OS X powerpc Leopard
|
|
- g++-4.0, g++-4.2
|
|
|
|
New user-visible features
|
|
-------------------------
|
|
|
|
- NS-3 PyViz, a live simulation visualizer, has been added. The
|
|
visualizer interacts with a running simulation, such that it uses no
|
|
trace files. It can be most useful for debugging purposes, i.e. to
|
|
figure out if mobility models are what you expect, where packets are
|
|
being dropped, etc. There is also a builtin interactive python console
|
|
that can be used to debug the state of the running objects. Although
|
|
it is mostly written in Python, it works both with Python and pure C++
|
|
simulations.
|
|
|
|
- Wi-Fi MAC high classes have been reorganised in attempt to
|
|
consolidate shared functionality into a single class. This new
|
|
class is RegularWifiMac, and it derives from the abstract
|
|
WifiMac, and is parent of AdhocWifiMac, StaWifiMac, ApWifiMac,
|
|
and MeshWifiInterfaceMac. The QoS and non-QoS class variants are
|
|
no longer, with a RegularWifiMac attribute "QosSupported"
|
|
allowing selection between these two modes of
|
|
operation.
|
|
|
|
- Support for IEEE 802.11g (specifically, rates with Modulation
|
|
Class ERP-OFDM) has been added to the wifi module. The new
|
|
WifiModes have names of the form ErpOfdmRatexxMbps, where xx is
|
|
the rate in Mbps (one of 6, 9, 12, 18, 24, 36, 48, 54), and a
|
|
WifiPhyStandard enumeration WIFI_PHY_STANDARD_80211g has been
|
|
added to allow configuration of a Wi-Fi STA supporting ERP-OFDM,
|
|
HR/DSSS, and DSSS rates (which some call an "802.11b/g" station).
|
|
|
|
- Two attributes were added to WaypointMobilityModel. The first
|
|
"LazyNotify" (default false), if enabled to true, will suppress
|
|
course change notifications if there are no position updates.
|
|
The second, "InitialPositionIsWaypoint" (default false), if enabled,
|
|
will allow an initial call to SetPosition () (before any waypoints
|
|
have been added) to be treated as the first waypoint.
|
|
|
|
- Regression testing is now completely performed within test.py
|
|
rather than a separate "./waf --regression" that consults
|
|
reference traces in the ns-3.x-ref-traces directory. In most
|
|
cases, the example programs whose traces were included in
|
|
ns-3.x-ref-traces have a corresponding test called from the
|
|
test.py program. It is still possible to write trace-based
|
|
regression tests but they are now called from the test.py
|
|
program.
|
|
|
|
- New BulkSendApplication sends data as fast as possible up to
|
|
MaxBytes or unlimited if MaxBytes is zero. Think OnOff, but
|
|
without the "off" and without the variable data rate. This
|
|
application only works with SOCK_STREAM and SOCK_SEQPACKET
|
|
sockets, for example TCP sockets and not UDP sockets.
|
|
|
|
- Extensions to the energy models: 1) a new Rakhmatov Vrudhula
|
|
non-linear battery model, 2) additional support for modeling
|
|
energy consumption in WiFi devices, 3) an example for how to add
|
|
energy models to a WiFi-based simulation (in examples/energy/
|
|
directory).
|
|
|
|
- New methods to print IPv4 routing tables to an output stream.
|
|
|
|
- A replacement implementation for TCP for IPv4. TcpSocketBase
|
|
now replaces TcpSocketImpl. There are subclasses defined for
|
|
TCP Tahoe, Reno, NewReno, and the original RFC793 without
|
|
congestion control.
|
|
|
|
- Energy support for UAN module and Li-Ion energy model.
|
|
Now each network node can have an associated energy source
|
|
from which it consumes energy. The user can specify a custom
|
|
energy model for the underwater transducer, with default values
|
|
set for WHOI acoustic transducer. Li-Ion battery model added
|
|
into energy models folder.
|
|
|
|
- Destination-Sequenced Distance Vector (DSDV) routing protocol
|
|
is a proactive, table-driven routing protocol for MANETs
|
|
developed by Charles E. Perkins and Pravin Bhagwat in 1994.
|
|
This implementation is for IPv4 routing and was contributed
|
|
by ResilNets Research Group.
|
|
|
|
- A novel model to simulate LTE networks has been added. It focuses
|
|
mainly on modeling the E-UTRA part of the system, with a particular
|
|
attention on the aspects related to the channel, PHY and MAC layers.
|
|
The most important features available at this moment are (i) a basic
|
|
implementation of both the UE and the eNB devices, (ii) RRC and
|
|
entities for both the UE and the eNB, (iii) an Adaptive Modulation
|
|
and Coding (AMC) scheme for the downlink, (iv) the management of the
|
|
data radio bearers (with their QoS parameters), the MAC queues and
|
|
the RLC instances, (v) Channel Quality Indicator (CQI) management,
|
|
(vi) support for both uplink and downlik packet scheduling,
|
|
(vii) a PHY layer model with Resource Block level granularity, and
|
|
(viii) a channel model with the outdoor E-UTRAN propagation loss
|
|
model.
|
|
|
|
- Project documentation has been converted from GNU Texinfo to Sphinx.
|
|
|
|
Bugs fixed
|
|
----------
|
|
The following lists many of the bugs fixed or small feature additions
|
|
since ns-3.9, in many cases referencing the Bugzilla bug number
|
|
|
|
- bug 824 - TCP should implement FastRecovery by default
|
|
- bug 852 - Add support for 802.11g devices
|
|
- bug 892 - WaypointMobilityModel incompatible with MobilityHelper::Install
|
|
- bug 893 - Lazy CourseChange notification for WaypointMobilityModel
|
|
- bug 903 - TapBridge does not shut down properly
|
|
- bug 953 - WiMAX channel scanning overflow
|
|
- bug 967 - Need to decouple Ipv4L4Protocols from Ipv4L3Protocol
|
|
- bug 978 - Consolidate Wi-Fi MAC high functionality
|
|
- bug 979 - Multi-octet fields in Wi-Fi headers have wrong endianness
|
|
- bug 981 - use a cache to keep track of received MPDUs under block ack
|
|
- bug 983 - handle correctly ADDBA response action frames in QadhocWifiMac
|
|
- bug 984 - EmuNetDevice should use DIX encapsulation by default
|
|
- bug 985 - WiMAX Invalid management message type on wimax-simple
|
|
- bug 988 - MacRxMiddle::SequenceControlSmaller method
|
|
- bug 990 - Error with an NS_ASSERT at uan-phy-gen.cc
|
|
- bug 991 - InterferenceHelper assertion failure
|
|
- bug 992 - Unusual (possibly incorrect assertion) in Packet::Deserialize
|
|
- bug 993 - MinstrelWifiManager::UpdateStats useless if clause
|
|
- bug 994 - PointToPointGridHelper useless if clauses
|
|
- bug 995 - Useless (possibly incorrect) comparison of unsigned int
|
|
- bug 1004 - module header not rebuilt
|
|
- bug 1005 - GetSocket() methods for OnOffApplication and PacketSink
|
|
- bug 1009 - decouple m_finSequence (TcpSocketImpl) from tx sequence numbers
|
|
- bug 1012 - UAN Throp propagation model bug
|
|
- bug 1015 - GetChannelFrequencyMhz() does not match with standard
|
|
- bug 1022 - inappropriate ASSERT in tcp-socket-impl.cc
|
|
- bug 1025 - wimax-ipv4 script exists with signal SIGSEGV when nbSS>20
|
|
- bug 1027 - RocketfuelTopologyReader is not working at all
|
|
- bug 1029 - v4Ping application endian issues
|
|
- bug 1030 - routing/aodv example fixed
|
|
- bug 1031 - Wifi hidden terminal example does not work
|
|
- bug 1032 - Unable to specify multiple Compiler/Linker flags
|
|
|
|
Known issues
|
|
------------
|
|
In general, known issues are tracked on the project tracker available
|
|
at http://www.nsnam.org/bugzilla/
|
|
|
|
Windows XP 32 bit Cygwin 1.7.7 does not seem to work because of a
|
|
problem (reported elsewhere) in linking large libraries.
|
|
|
|
Release 3.9
|
|
===========
|
|
|
|
Availability
|
|
------------
|
|
This release is immediately available from:
|
|
http://www.nsnam.org/releases/ns-allinone-3.9.tar.bz2
|
|
|
|
Supported platforms
|
|
-------------------
|
|
ns-3.9 has been tested on the following platforms:
|
|
- Ubuntu 10.04 LTS 32/64-bit gcc-4.4.3
|
|
- Fedora Core 12 64-bit gcc-4.4.3
|
|
- Ubuntu 9.10 32-bit gcc-4.4.1
|
|
- Ubuntu 8.04 LTS 64-bit gcc-4.2.4
|
|
- Fedora Core 5 32-bit gcc-4.1.1
|
|
- Mac OS X Leopard powerpc gcc-4.0.1
|
|
- Windows Cygwin 1.7.5
|
|
|
|
Not all ns-3 options are available on all platforms; consult the
|
|
wiki for more information:
|
|
http://www.nsnam.org/wiki/index.php/Installation
|
|
|
|
New user-visible features
|
|
-------------------------
|
|
|
|
- A reorganisation of the construction of Wi-Fi transmit rates has
|
|
been undertaken with the aim of simplifying the task of
|
|
supporting further IEEE 802.11 PHYs. This work has been completed
|
|
under the auspices of Bug 871. A consequence of this work is that
|
|
WifiModes have a new (hopefully future-proof) naming, and
|
|
simulations which specify rates by name will need updating. The
|
|
list of new rate names is given in the error message produced
|
|
when an attempt is made to use any invalid rate name (including
|
|
those that were previously valid).
|
|
|
|
- A new OFDM error rate model for WiFi (NistErrorRateModel); this model
|
|
has been validated in clear-channel testbed tests. For 802.11b, it
|
|
uses the same underlying model as the YansErrorRateModel, but it differs
|
|
from YansErrorRateModel for OFDM modes (802.11a/g). The default
|
|
YansWifiPhyHelper has been changed to use this model.
|
|
|
|
- A new NS-2 mobility trace reader supports BonnMotion, SUMO, TraNS,
|
|
etc. traces.
|
|
|
|
- An energy model for nodes and devices, including an energy source
|
|
model and device energy models allowing energy-aware devices
|
|
to notify the energy source about energy consumption.
|
|
|
|
- Rocketfuel topology dataset support for existing topology reader
|
|
Rocketfuel project:
|
|
http://www.cs.washington.edu/research/networking/rocketfuel/
|
|
|
|
- Underwater Acoustic Network (UAN) model, split in to three parts, the
|
|
channel, PHY, and MAC models to enable researchers to model a variety
|
|
of underwater network scenarios.
|
|
|
|
- the Spectrum framework, which provides support for spectrum-aware
|
|
Channel and PHY layer modeling. It features a set of classes that
|
|
allows the mathematical representation of frequency dependent
|
|
phenomena. Some example channel, propagation and device
|
|
implementations that make use of this framework are also
|
|
included.
|
|
|
|
Bugs fixed
|
|
----------
|
|
The following lists many of the bugs fixed or small feature additions
|
|
since ns-3.8, in many cases referencing the Bugzilla bug number
|
|
|
|
- IPv4 global routing code; stub networks were assumed to be /24
|
|
and added as /24 networks even if the mask is actually different
|
|
- OLSR was generating messages on non-OLSR interfaces
|
|
- ICMPv4 objects not properly registered; affected serialization code
|
|
- bug 231 - SocketAddressTag needs to be removed from a packet before
|
|
forwarding the packet to the user
|
|
- bug 385 - Add a generic "sequence number" class
|
|
- bug 473 - [PATCH] Alternative ns-2 trace reader
|
|
- bug 665 - Need Tutorial Sectino on Config Path and Tracing Use
|
|
- bug 671 - add packet-info-tag.cc for IP_PKTINFO/IPV6_PKTINFO
|
|
- bug 702 - Global routing doesn't respond to interface events
|
|
- bug 799 - Interference helper is too slow
|
|
- bug 800 - Erroneous packet sender while using aloha or cw mac in uan module
|
|
- bug 802 - Minstrel algorithm causes segmentation fault
|
|
- bug 826 - Using uint64_t instead of Time in DcfManager
|
|
- bug 828 - PacketSocket::Close does not unregister protocol handler
|
|
- bug 842 - ns-3-dev crashes using block acks
|
|
- bug 843 - Most wifi examples change BeaconInterval to unrealistic values
|
|
- bug 844 - YansWifiPhy::GetPowerDbm off-by-one problem when calculating Tx
|
|
power
|
|
- bug 846 - packet.cc triggers deprecated warning
|
|
- bug 853 - Rates for Wi-Fi control responses are incorrectly selected
|
|
- bug 854 - Support DROP_QUEUE reason-code in Ipv4FlowProbe
|
|
- bug 858 - support MSG_PEEK in IPv4/IPv6 raw socket
|
|
- bug 861 - Forwarding drops (due to no route found) were not being logged
|
|
in IPv4 or IPv6 ascii traces
|
|
- bug 869 - suggested test framework enhancements
|
|
- bug 871 - naming for WifiPhyStandard
|
|
- bug 873 - Queue occupancy counter not decremented in WifiMacQueue::Remove()
|
|
- bug 874 - wrong modulation type is selected in the forwardBurst method
|
|
- bug 875 - "frame includes FCS" flag should be set in Radiotap frame header
|
|
- bug 879 - source address selection for AODV using DeferredRouteRequest
|
|
- bug 881 - Reorganise to allow wider use of WifiInformationElement
|
|
- bug 890 - several rate adaptation algorithms not tested by test.py
|
|
- bug 900: RawTextConfigLoad::Default does not load configurations
|
|
- bug 901 - Optimize Mac48Address < != and ==
|
|
- bug 902 - TCP: handle out-of-order packets during connection shutdown
|
|
- bug 905 - WimaxNetDevice loses packet uid, tags, and memory optimization
|
|
- bug 906 - NSC TCP socket fork did not copy txbuffersize over
|
|
- bug 908 - test.py should exit if waf dies
|
|
- bug 910 - Change Wi-Fi "AccessClass" to something closer to the standard
|
|
- bug 911 - IPv4/v6 multicast forwarding not going to all output interfaces
|
|
- bug 913 - Queue Enqueue/Drop trace sources behavior unintuitive
|
|
- bug 916 - EnableAsciiAll ("prefix") does not work for YansWifiPhyHelper
|
|
- bug 918 - samples/main-packet-header.cc is broken
|
|
- bug 919 - minstrel does not pass valgrind tests
|
|
- bug 921 - Inconsistent declaration of class/struct Object in object.h
|
|
- bug 922 - Inconsistent declaration of class/struct in
|
|
wifi-remote-station-manager.h
|
|
- bug 923 - Inconsistent declaration of class/struct in mac-low.h
|
|
- bug 924 - Inconsistent declaration of class/struct in <xxx>-wifi-managers
|
|
- bug 925 - Various IPv6 cc files trigger deprecated warning
|
|
- bug 926 - olsr handling of multicast packets
|
|
- bug 927 - SimpleOfdmWimaxChannel RxPower computation
|
|
- bug 930 - examples/topology-read/topology-example-sim.cc uses variable
|
|
length array
|
|
- bug 931 - Abnormal exit reports SIGSEGV on failure
|
|
- bug 932 - Support IP_HDRINCL option for Ipv4RawSocket
|
|
- bug 933 - Flushing ostream and files on abnormal program exit
|
|
(ASSERT, ABORT and FATAL_ERROR)
|
|
- bug 936 - Waf build error for python bindings on "AccessClass"
|
|
- bug 937 - bugs in ns-3 wimax
|
|
- bug 939 - EmuNetDevice uses too much memory when reading packet bursts
|
|
- bug 940 - AODV fails to set up a correct path
|
|
- bug 941 - Wifi Dcf attributes not reachable through configuration namespace
|
|
- bug 943 - Add a SO_BROADCAST socket option
|
|
- bug 944 - change default ErrorRateModel from YansErrorRateModel to
|
|
NistErrorRateModel
|
|
- bug 946 - Rocketfuel topology dataset support for topology reader
|
|
- bug 949 - Node::NonPromiscReceiveFromDevice reports a meaningless
|
|
destination address to user callbacks
|
|
- bug 950 - PointToPointNetDevice says promisc support is not implemented
|
|
but it is
|
|
- bug 955 - Install NSC for NS3 in a Itanium Architecture (ia64) with Linux 2.6.16.6
|
|
- bug 956 - Bindings failure in core (traced-value) with older gcc
|
|
- bug 958 - WiFi uses wrong default values for MTU, FragmentationThreshold
|
|
and RtsCtsThreshold
|
|
- bug 959 - Simulation never finishes when using RealtimeSimulatorImpl
|
|
- bug 960 - V4Ping does not generate checksum
|
|
- bug 961 - Problem with MPI activation
|
|
- bug 964 - AODV does not work with host addressed interfaces
|
|
- bug 965 - Problem building /src/core/callback.cc
|
|
- bug 966 - AODV originates new RREQ on each packet, when doesn't have
|
|
valid route
|
|
- bug 969 - No SocketList is present in UdpL4Protocol class
|
|
- bug 971 - fix AODV header Print functions
|
|
- bug 972 - [flow monitor] assertion fails in pv4-flow-probe.cc
|
|
|
|
Known issues
|
|
------------
|
|
|
|
Release 3.8
|
|
===========
|
|
|
|
Availability
|
|
------------
|
|
This release is immediately available from:
|
|
http://www.nsnam.org/releases/ns-allinone-3.8.tar.bz2
|
|
|
|
Supported platforms
|
|
-------------------
|
|
ns-3.8 has been tested on the following platforms:
|
|
- linux x86 gcc 4.4.0, 4.3.2, 4.2, 4.1.1, 4.1 and 3.4.6 (debug and optimized)
|
|
- linux x86_64 gcc 4.4.0, 4.3.2, 4.2.4, 4.2.3, 4.2.1, 4.1.3, 3.4.6 (debug and optimized)
|
|
- MacOS X ppc gcc 4.0.x and 4.2.x (debug and optimized)
|
|
- cygwin gcc 4.3.4 (debug and optimized)
|
|
|
|
Not all ns-3 options are available on all platforms; consult the
|
|
wiki for more information:
|
|
http://www.nsnam.org/wiki/index.php/Installation
|
|
|
|
New user-visible features
|
|
-------------------------
|
|
a) WiMAX net device: Allow to simulated IEEE 802.16 point to multi-point based networks
|
|
|
|
b) Distributed simulation for point-to-point networks using the Message
|
|
Passing Interface (MPI) standard.
|
|
|
|
c) Matrix propagation loss model uses a two-dimensional matrix of path loss indexed
|
|
by source and destination nodes.
|
|
|
|
d) Topology read system: Allows quick and easy creation of large topologies by reading
|
|
Inet or Orbis files
|
|
|
|
e) Gauss-Markov mobility model: Adds 3-d adaptation of Gauss-Markov mobility model which
|
|
has both memory and variability
|
|
|
|
f) Steady-state random waypoint mobility model: Based on random waypoint mobility (RWM) model for case when
|
|
speed, pause and position are uniformly distributed random variables. However, initial values of these
|
|
parameters are not from uniform distribution but from stationary distribution of RWM model.
|
|
|
|
g) Two-ray ground propagation loss model: Calculates the crossover distance under which Friis is used.
|
|
The antenna height is set to the nodes z coordinate, but can be added to using the model parameter
|
|
SetHeightAboveZ, which will affect ALL stations
|
|
|
|
|
|
API changes from ns-3.7
|
|
-----------------------
|
|
API changes for this release are documented in the file CHANGES.html.
|
|
|
|
Bugs fixed
|
|
----------
|
|
The following lists many of the bugs that were fixed since ns-3.7, in
|
|
many cases referencing the Bugzilla bug number
|
|
- bug 155 - std::ostream & os" parameters not Python friendly
|
|
- bug 184 - GtkConfigStore do not support ConfigureDefault
|
|
- bug 407 - OLSR is missing HNA support
|
|
- bug 414 - No ReceiveErrorModel in SimpleNetDevice
|
|
- bug 602 - WifiRemoteStation lacks information about the access class of outgoing packets
|
|
- bug 622 - [PATCH] Friendly names for pcap traces
|
|
- bug 683 - Helper methods for pcap tracing with explicit filenames
|
|
- bug 706 - Backoff counting when starting NS.
|
|
- bug 720 - TapBridge creation fails from a script outside the ns3 tree
|
|
- bug 731 - Send function in point-to-point-net-device fails to check the return value of the Dequeue function
|
|
- bug 747 - Listening TCP socket closes on RST
|
|
- bug 748 - Cloned TCP socket uses wrong source address
|
|
- bug 772 - AODV is unable to correctly buffer packets waiting for route reply
|
|
- bug 777 - AODV ignores specified outgoing interface in RouteOutput()
|
|
- bug 778 - OLSR ignores specified outgoing interface in RouteOutput()
|
|
- bug 787 - Addition of Two Ray Ground model to propagation loss model and tests
|
|
- bug 788 - OLSR_NEIGH_HOLD_TIME should be 3 times OLSR_REFRESH_INTERVAL
|
|
- bug 789 - [PATCH] Globalrouting externalroutes to use the new GetRootExitDirections()
|
|
- bug 794 - Ipv4Mask constructor for "/yy"-notation is wrong
|
|
- bug 796 - TCP bug in ns-3-dev branch : Crash detected during retesting of Chord on ns-3-dev branch
|
|
- bug 797 - Enhancements to src/core/random-variable.cc/h
|
|
- bug 801 - ns-3.7 and SVN not coexisting nicely
|
|
- bug 802 - Minstrel algorithm causes segmentation fault
|
|
- bug 804 - null-pointer references in 3.7 internet stack
|
|
- bug 806 - TCP doesn't work over a CSMA link
|
|
- bug 807 - ns2-mobility-helper.cc: node id parsed wrong
|
|
- bug 809 - Missing Python binding for Ipv4GlobalRouting::GetRoute
|
|
- bug 810 - In TCP, Socket::GetSockName() does not return the local socket address
|
|
- bug 812 - Assert when getting socket in RecvReply for AODV
|
|
- bug 813 - Nqos AP sends packet to non associated STA
|
|
- bug 814 - Function logging causing assert in wireless examples
|
|
- bug 815 - waf shell file descriptor leak
|
|
- bug 816 - tap-creator deadlock when python bindings enabled
|
|
- bug 817 - Pareto rng constructors using scale and shape instead of mean and shape
|
|
- bug 818 - TCP Socket implementation does not set ACK flag on retransmits
|
|
- bug 819 - Build break when gtk not installed
|
|
- bug 820 - Bad things happen in test.py when logging is enabled
|
|
- bug 821 - AODV asserts with function logging enabled
|
|
- bug 822 - Move Mtu attribute from NetDevice base class to subclasses
|
|
- bug 825 - UDP-Client-server's packet loss counter not properly reset
|
|
- bug 828 - PacketSocket::Close does not unregister protocol handler
|
|
- bug 829 - TCP unbound memory problem (pending data)
|
|
- bug 833 - OnOffApplication with PacketSocket: sniffs all traffic
|
|
- bug 834 - Incorrect signature of Ipv4FlowProbe::DropLogger
|
|
- bug 835 - Unlimited receive queues in sockets == evil
|
|
- bug 836 - Delay is incremented over time with BsUplinkSchedulerSimple and BsUplinkSchedulerRtps
|
|
- bug 838 - ns-3 can't compile on MacOS with 32bit processor
|
|
- bug 839 - TestSuite wimax-ss-mac-layer crashes on Darwin 9.8.0 Power Macintosh
|
|
- bug 840 - BS scheduler does not support fragmentation for UGS flows
|
|
- bug 841 - Multicast transmission breaks with QoS Wifi
|
|
- bug 844 - YansWifiPhy::GetPowerDbm off-by-one problem when calculating Tx power
|
|
- bug 847 - Segfaults on BaseStationNetDevice with OnOffApplication and rtPS sched
|
|
- bug 849 - stray patch files in lwip directory
|
|
- bug 850 - Ipv4GlobalRouting::LookupGlobal bug
|
|
- bug 855 - waf dies badly when switching from debug to optimized build or vice versa
|
|
- bug 856 - initialize vbl
|
|
- bug 857 - Link-Local Multicast handle in Ipv4 Output processing
|
|
- bug 859 - Output interface estimation for the source address bound socket in IPv4 Raw socket
|
|
- bug 860 - waf sometimes dies while executing ns3header or gen_ns3_module_header tasks in case of
|
|
parallel jobs
|
|
- bug 862 - NotifyInterfaceUp() Adds network route even when netmask is /32
|
|
- bug 863 - Wrong Scalar arithmetics
|
|
- bug 864 - Invalid return value in UdpSocketImpl::Send and Ipv4RawSocketImpl::Send
|
|
- bug 865 - Ipv4RawSocketImpl::RecvFrom does not return from address all the time.
|
|
- bug 866 - WiMAX mobility models not aggregated to Node
|
|
- bug 867 - Minor bug in Ipv4L3Protocol::Send()
|
|
- bug 868 - invalid packet size after Ipv4L3Protocol::Send
|
|
- bug 872 - ns3::PcapFileWrapper::Write explodes stack
|
|
- bug 873 - Queue occupancy counter not decremented in WifiMacQueue::Remove()
|
|
- bug 876 - Tcp socket does not handle ShutdownRecv correctly
|
|
- bug 877 - python bindings broken with multiple inheritance ?
|
|
- bug 880 - Node sending a packet to itself via 127.0.0.1 aborts
|
|
- bug 885 - Error in Ascii tracing in Python examples
|
|
- bug 888 - Writing ascii trace to addtional tests fails
|
|
- bug 891 - WiMAX device helper does not include propagation loss model by default
|
|
- bug 894 - ./waf --run error message upon segfault
|
|
- bug 895 - SimpleOfdmWimaxPhy SNR computation
|
|
- bug 899 - EmuNetDevice::SetPromiscReceiveCallback not implemented
|
|
|
|
Known issues
|
|
------------
|
|
ns-3 builds have been known to fail on the following platforms:
|
|
- gcc 3.3 and earlier
|
|
- optimized builds on gcc 3.4.4 and 3.4.5
|
|
- optimized builds on linux x86 gcc 4.0.x
|
|
|
|
|
|
Release 3.7
|
|
===========
|
|
|
|
Availability
|
|
------------
|
|
This release is immediately available from:
|
|
http://www.nsnam.org/releases/ns-allinone-3.7.tar.bz2
|
|
|
|
Supported platforms
|
|
-------------------
|
|
ns-3.7 has been tested on the following platforms:
|
|
- linux x86 gcc 4.4.0, 4.3.2, 4.2, 4.1.1, 4.1 and 3.4.6 (debug and optimized)
|
|
- linux x86_64 gcc 4.4.0, 4.3.2, 4.2.4, 4.2.3, 4.2.1, 4.1.3, 3.4.6 (debug and optimized)
|
|
- MacOS X ppc gcc 4.0.x and 4.2.x (debug and optimized)
|
|
- cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized)
|
|
|
|
Unofficially supported platform
|
|
-------------------
|
|
- mingw gcc 3.4.5 (debug only)
|
|
|
|
Not all ns-3 options are available on all platforms; consult the
|
|
wiki for more information:
|
|
http://www.nsnam.org/wiki/index.php/Installation
|
|
|
|
New user-visible features
|
|
-------------------------
|
|
|
|
a) Ad hoc On-Demand Distance Vector (AODV) routing model (RFC 3561)
|
|
|
|
b) IPv6 extensions support to add IPv6 extensions and options. Two
|
|
examples (fragmentation and loose routing) are available.
|
|
|
|
c) NetAnim interface: Provides an interface to the Qt-based NetAnim
|
|
animator, which supports static, point-to-point topology-based
|
|
packet animations.
|
|
|
|
d) New topology helpers have been introduced
|
|
- PointToPointDumbbellHelper
|
|
- PointToPointGridHelper
|
|
- PointToPointStarHelper
|
|
- CsmaStarHelper
|
|
|
|
e) Equal-cost multipath for global routing: Enables quagga's equal
|
|
cost multipath for Ipv4GlobalRouting, and adds an attribute that
|
|
can enable it with random packet distribution policy across
|
|
equal cost routes.
|
|
|
|
f) Binding sockets to devices: A method analogous to a SO_BINDTODEVICE
|
|
socket option has been introduced to class Socket
|
|
|
|
g) Object::DoStart: Users who need to complete their object setup at
|
|
the start of a simulation can override this virtual method, perform their
|
|
adhoc setup, and then, must chain up to their parent.
|
|
|
|
h) Ipv4::IsDestinationAddress method added to support checks of whether a
|
|
destination address should be accepted as one of the host's own
|
|
addresses.
|
|
|
|
i) UniformDiscPositionAllocator added; distributes uniformly the nodes
|
|
within a disc of given radius.
|
|
|
|
j) ChannelNumber attribute added to YansWifiPhy. Now it is possible to
|
|
setup wifi channel using WifiPhyHelper::Set() method.
|
|
|
|
k) WaypointMobilityModel provides a method to add mobility as a set of
|
|
(time, position) pairs
|
|
|
|
l) 802.11p WiFi standards
|
|
|
|
m) UDP Client/Server application
|
|
|
|
n) Support transactions in the SQLite output interface, making it usable for larger amounts of data
|
|
|
|
API changes from ns-3.6
|
|
-----------------------
|
|
API changes for this release are documented in the file CHANGES.html.
|
|
|
|
Bugs fixed
|
|
----------
|
|
The following lists many of the bugs that were fixed since ns-3.6, in
|
|
many cases referencing the Bugzilla bug number
|
|
- bug 752: Object::DoStart is not executed for objects created at t > 0
|
|
- bug 767: Incorrect modulation for 802.11a modes
|
|
- bug 725: wifi fragmentation and RTS cannot be used at the same time
|
|
- bug 782: CreateTap () requires IP address in modes other than
|
|
CONFIGURE_LOCAL.
|
|
- bug 769: Queue::GetTotalReceived{Bytes,Packets}() broken
|
|
- bug 738 ReceiveErrorModel called too late
|
|
- Fix NSC improper response to FIN
|
|
- Fixed bug in serialization of PbbAddressBlock.
|
|
- Fix bug 780 (problem in RoutingTableComputation with asymetric links),
|
|
while adding debugging methods to OLSR.
|
|
- bug 759: Ipv6 uses wrong outgoing interface.
|
|
- bug 770: IPv6 size calculation for unknown options is wrong.
|
|
- bug 771: Radvd does not set ttl value.
|
|
- Fix bug 606: Arp depends on IP routing system
|
|
- pad out CSMA payloads to 46 bytes if needed
|
|
- Drop CSMA packets with CRC errors, rescan, dox tweaks
|
|
- Add FCS capability to CSMA
|
|
- Mesh:Dot11s: fixed airtime metric
|
|
- Get emu working again: Add Dix/Llc option, add and use contextual
|
|
realtime schedule ops, don't refcount realtime simulator impl
|
|
- bug 695 - DcfManager::UpdateBackoff () uses slow HighPrecision::Div()
|
|
- bug 674 - EIFS is not handled correctly in DcfManager::GetAccessGrantStart
|
|
- bug 739 - OLSR: Strange HTime value in HELLO messages
|
|
- bug 746 - UDP source address is not set to bound address
|
|
- bug 735 Update Olsr for local delivery
|
|
- bug 740 OLSR MprCompute () works wrong: fixed
|
|
- bug 729 Enable IPv6 over PPP.
|
|
- bug 645: fixes for opening stats file with OMNeT++
|
|
- bug 689: default energy detection and CCA thresholds are changed to be
|
|
more realistic.
|
|
- bug 733: OLSR MPR Computation give incorrect result
|
|
- Mesh: HWMP: fixed proactive routes
|
|
- Mesh: fixed FLAME PATH_UPDATE procedure, fixed mesh.cc
|
|
|
|
Known issues
|
|
------------
|
|
ns-3 builds have been known to fail on the following platforms:
|
|
- gcc 3.3 and earlier
|
|
- optimized builds on gcc 3.4.4 and 3.4.5
|
|
- optimized builds on linux x86 gcc 4.0.x
|
|
|
|
|
|
Release 3.6
|
|
===========
|
|
|
|
Availability
|
|
------------
|
|
This release is immediately available from:
|
|
http://www.nsnam.org/releases/ns-allinone-3.6.tar.bz2
|
|
|
|
Supported platforms
|
|
-------------------
|
|
ns-3.6 has been tested on the following platforms:
|
|
- linux x86 gcc 4.4.1, 4.2, 4.1, and, 3.4.6.
|
|
- linux x86_64 gcc 4.4.0, 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
|
|
- MacOS X ppc and x86 (gcc 4.0.x and 4.2.x)
|
|
- cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized)
|
|
|
|
Not all ns-3 options are available on all platforms; consult the
|
|
wiki for more information:
|
|
http://www.nsnam.org/wiki/index.php/Installation
|
|
|
|
New user-visible features
|
|
-------------------------
|
|
|
|
a) 802.11 models:
|
|
- Add an implementation of the minstrel rate control algorithm
|
|
(Duy Nguyen for gsoc)
|
|
- AthstatsHelper: enables the wifi device to produce periodic
|
|
reports similar to the ones generated by madwifi's
|
|
athstats tool (Nicola Baldo)
|
|
- 10MHz and 5MHz channel width supported by 802.11a model
|
|
(Ramon Bauza and Kirill Andreev)
|
|
- Channel switching support. YansWifiPhy can now switch among
|
|
different channels (Ramon Bauza and Pavel Boyko)
|
|
|
|
b) IPv6 models:
|
|
- IPv6 interface;
|
|
- IPv6 layer;
|
|
- IPv6 raw socket;
|
|
- Static IPv6 routing;
|
|
- ICMPv6 layer;
|
|
- Some ICMPv6 error messages (destination unreachable, ...);
|
|
- Neighbor Discovery Protocol (NS/NA, RS/RA, redirection);
|
|
- Ping6 application (send Echo request);
|
|
- Radvd application (send RA);
|
|
- Examples (ping6, simple-routing-ping6, radvd, radvd-two-prefix,
|
|
icmpv6-redirect).
|
|
|
|
c) Wireless Mesh Networking models:
|
|
- General multi-interface mesh stack infrastructure (devices/mesh module).
|
|
- IEEE 802.11s (Draft 3.0) model including Peering Management Protocol and HWMP.
|
|
- Forwarding Layer for Meshing (FLAME) protocol.
|
|
|
|
d) Nix-vector routing:
|
|
- Ipv4NixVectorHelper
|
|
- Examples (nix-simple, nms-p2p-nix)
|
|
|
|
e) New Test Framework
|
|
- Use test.py instead of ./waf check or ./waf --regression
|
|
- Previous unit tests have been ported to new framework.
|
|
- Examples are tested for run-ability.
|
|
|
|
f) A new Flow Monitor module
|
|
- To very easily measure flow metrics in a simulation
|
|
- No need to use trace callbacks or parsing trace files
|
|
|
|
API changes from ns-3.5
|
|
-----------------------
|
|
API changes for this release are documented in the file CHANGES.html.
|
|
|
|
Known issues
|
|
------------
|
|
ns-3.6 build is known to fail on the following platforms:
|
|
- gcc 3.3 and earlier
|
|
- optimized builds on gcc 3.4.4 and 3.4.5
|
|
- optimized builds on linux x86 gcc 4.0.x
|
|
|
|
Release 3.5
|
|
===========
|
|
|
|
Availability
|
|
------------
|
|
This release is immediately available from:
|
|
http://www.nsnam.org/releases/ns-allinone-3.5.tar.bz2
|
|
|
|
Supported platforms
|
|
-------------------
|
|
ns-3.5 has been tested on the following platforms:
|
|
- linux x86 gcc 4.2, 4.1, and, 3.4.6.
|
|
- linux x86_64 gcc 4.4.0, 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
|
|
- MacOS X ppc and x86 (gcc 4.0.x and 4.2.x)
|
|
- cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized)
|
|
- mingw gcc 3.4.5 (debug only)
|
|
|
|
Not all ns-3 options are available on all platforms; consult the
|
|
wiki for more information:
|
|
http://www.nsnam.org/wiki/index.php/Installation
|
|
|
|
New user-visible features
|
|
-------------------------
|
|
|
|
a) 802.11 MAC:
|
|
- EDCA multi-qos-class support (Mirko Banchi)
|
|
- 802.11n initial support for A-MSDU frame aggregation (Mirko Banchi)
|
|
- aarf-cd and cara rate control algorithms (Federico Maguolo)
|
|
b) 802.11 PHY:
|
|
- 802.11b PHY support (Gary Pei)
|
|
- Nakagami propagation loss model (Timo Bingmann)
|
|
- radiotap and prism headers for PCAP output (Nicola Baldo)
|
|
c) RandomVariable:
|
|
- GammaVariable and ErlangVariable (Timo Bingmann)
|
|
- ZipfVariable (Francesco Malandrino)
|
|
d) UdpEcho: allows setting the payload of echo packets
|
|
e) Ipv4/Ipv4RoutingProtocol: allow fine-grained control over
|
|
routing policy and arbitrary composition of routing protocols
|
|
|
|
API changes from ns-3.4
|
|
-----------------------
|
|
API changes for this release are documented in the file CHANGES.html. The
|
|
internal API and composition of the IPv4 stack underwent significant
|
|
refactoring in this release cycle.
|
|
|
|
Known issues
|
|
------------
|
|
ns-3 build is known to fail on the following platforms:
|
|
- gcc 3.3 and earlier
|
|
- optimized builds on gcc 3.4.4 and 3.4.5
|
|
- optimized builds on linux x86 gcc 4.0.x
|
|
|
|
Future releases
|
|
---------------
|
|
Our next release, which is expected to happen in 2 to 4 months from now, will
|
|
feature the merging of some of our projects currently in development including
|
|
fuller IPv6 support, some smaller features such as a new Global ARP
|
|
package, and possibly a new Testing and Validation suite.
|
|
|
|
Release 3.4
|
|
===========
|
|
|
|
Availability
|
|
------------
|
|
This release is immediately available from:
|
|
http://www.nsnam.org/releases/ns-allinone-3.4.tar.bz2
|
|
|
|
Supported platforms
|
|
-------------------
|
|
ns-3.4 has been tested on the following platforms:
|
|
- linux x86 gcc 4.2, 4.1, and, 3.4.6.
|
|
- linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
|
|
- MacOS X ppc and x86
|
|
- cygwin gcc 3.4.4 (debug only)
|
|
|
|
Not all ns-3 options are available on all platforms; consult the
|
|
wiki for more information:
|
|
http://www.nsnam.org/wiki/index.php/Installation
|
|
|
|
New user-visible features
|
|
-------------------------
|
|
a) Wifi models: Timo Bingman contributed a ThreeLogDistance and a Nakagami
|
|
propagation loss model based on the ns-2 models. Fabian Mauchle contributed
|
|
multicast support.
|
|
|
|
b) Object Name Service: A facility allowing ns-3 Objects to be assigned
|
|
names has been added.
|
|
|
|
c) Tap Bridge: A second option for integrating ns-3 with real-world hosts
|
|
has been added. This allows for real hosts to talk over ns-3 net devices
|
|
and simulated networks.
|
|
|
|
d) A new build option (ns-3-allinone) has been provided to make it easier for
|
|
users to download and bulid commonly used ns-3 configurations.
|
|
|
|
e) The ns-3 calendar queue scheduler has been ported to ns-3.
|
|
|
|
f) XML support has been added to the ConfigStore.
|
|
|
|
API changes from ns-3.3
|
|
-----------------------
|
|
API changes for this release are documented in the file CHANGES.html
|
|
|
|
Known issues
|
|
------------
|
|
ns-3 build is known to fail on the following platforms:
|
|
- gcc 3.3 and earlier
|
|
- optimized builds on gcc 3.4.4 and 3.4.5
|
|
- optimized builds on linux x86 gcc 4.0.x
|
|
- optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2
|
|
- MinGW
|
|
|
|
The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes
|
|
in preparation of the merge of the IPv6 API and implementation.
|
|
|
|
Future releases
|
|
---------------
|
|
Our next release, which is expected to happen in 2 to 4 months from now, will
|
|
feature the merging of some of our projects currently in development including
|
|
fuller IPv6 support, and IPv4 and routing protocol refactoring, and some smaller
|
|
features such as a new Global ARP package and possibly a new Testing and Validation
|
|
suite,
|
|
|
|
Release 3.3
|
|
===========
|
|
|
|
Availability
|
|
------------
|
|
This release is immediately available from:
|
|
http://www.nsnam.org/releases/ns-3.3.tar.bz2
|
|
|
|
Supported platforms
|
|
-------------------
|
|
ns-3.3 has been tested on the following platforms:
|
|
- linux x86 gcc 4.2, 4.1, and, 3.4.6.
|
|
- linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
|
|
- MacOS X ppc and x86
|
|
- cygwin gcc 3.4.4 (debug only)
|
|
|
|
Not all ns-3 options are available on all platforms; consult the
|
|
wiki for more information:
|
|
http://www.nsnam.org/wiki/index.php/Installation
|
|
|
|
New user-visible features
|
|
-------------------------
|
|
a) Emulated Net Device
|
|
A new net device has been added as enabling technology for ns-3 emulation
|
|
scenarios. See src/devices/emu and examples/emu-udp-echo.cc for details.
|
|
|
|
b) ICMP Support
|
|
Support for several ICMP messages has been added to ns-3. See
|
|
src/internet-stack/icmpv4.h for details.
|
|
|
|
c) IPv6 Address Support
|
|
New clases to support IPv6 addresses has been added to the system. This
|
|
is enabling technology for fuller IPv6 support scheduled for ns-3.4.
|
|
|
|
d) A flow-id tag has been added to the contributed code section
|
|
|
|
e) Star topologies can be created from the topology helper functions
|
|
|
|
f) The global routing code has been made dynamic (not just limited to
|
|
(pre-simulation computation) and supports stub network interfaces and
|
|
bridge net devices
|
|
|
|
g) A MatchContainer has been added to the configuration subsystem
|
|
|
|
API changes from ns-3.2
|
|
-----------------------
|
|
API changes for this release are documented in the file CHANGES.html
|
|
|
|
Known issues
|
|
------------
|
|
ns-3 build is known to fail on the following platforms:
|
|
- gcc 3.3 and earlier
|
|
- optimized builds on gcc 3.4.4 and 3.4.5
|
|
- optimized builds on linux x86 gcc 4.0.x
|
|
- optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2
|
|
- MinGW
|
|
|
|
The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes
|
|
in preparation of the merge of the IPv6 API and implementation.
|
|
|
|
Future releases
|
|
---------------
|
|
Our next release, which is expected to happen in 2 to 4 months from now, will
|
|
feature the merging of some of our projects currently in development including
|
|
fuller IPv6 support, and IPv4 and routing protocol refactoring, and some smaller
|
|
features such as an object naming facility and a new Global ARP package.
|
|
|
|
Release 3.2
|
|
===========
|
|
|
|
Availability
|
|
------------
|
|
This release is immediately available from:
|
|
http://www.nsnam.org/releases/ns-3.2.tar.bz2
|
|
|
|
Supported platforms
|
|
-------------------
|
|
ns-3.2 has been tested on the following platforms:
|
|
- linux x86 gcc 4.2, 4.1, and, 3.4.6.
|
|
- linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
|
|
- MacOS X ppc and x86
|
|
- cygwin gcc 3.4.4 (debug only)
|
|
|
|
Not all ns-3 options are available on all platforms; consult the
|
|
wiki for more information:
|
|
http://www.nsnam.org/wiki/index.php/Installation
|
|
|
|
New user-visible features
|
|
-------------------------
|
|
a) Learning bridge (IEEE 802.1D)
|
|
It is now possible to bridge together multiple layer 2 devices to
|
|
create larger layer 2 networks. The Wifi and Csma models support
|
|
this new mode of operation. (contributed by Gustavo Carneiro)
|
|
|
|
b) Python bindings
|
|
It is now possible to write simulation scripts in python using our
|
|
python bindings (contributed by Gustavo Carneiro).
|
|
|
|
c) Real-time simulator
|
|
It is now possible to run simulations synchronized on the real-world
|
|
wall-clock time (contributed by Craig Dowell).
|
|
|
|
d) Network Simulation Cradle
|
|
It is now possible to use the Network Simulation Cradle
|
|
(http://www.wand.net.nz/~stj2/nsc/) in ns-3 and run simulations
|
|
using various versions of kernel TCP network stacks. (contributed
|
|
by Florian Westphal as part of his Google Summer of Code work)
|
|
|
|
e) A statistics framework
|
|
Joseph Kopena contributed a statistics framework which can be used
|
|
keep track of simulation data in persistent storage across multiple
|
|
runs (database and ascii file backends are available).
|
|
More information on the wiki:
|
|
http://www.nsnam.org/wiki/index.php/Statistical_Framework_for_Network_Simulation
|
|
|
|
API changes from ns-3.1
|
|
-----------------------
|
|
API changes for this release are documented in the file CHANGES.html
|
|
|
|
Known issues
|
|
------------
|
|
ns-3 build is known to fail on the following platforms:
|
|
- gcc 3.3 and earlier
|
|
- optimized builds on gcc 3.4.4 and 3.4.5
|
|
- optimized builds on linux x86 gcc 4.0.x
|
|
- optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2
|
|
- MinGW
|
|
|
|
The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes
|
|
in preparation of the merge of the IPv6 API and implementation.
|
|
|
|
Future releases
|
|
---------------
|
|
Our next release, which is expected to happen in 2 to 4 months from now, will
|
|
feature the merging of some of our projects currently in development: IPv6,
|
|
emulation, and synchronous posix sockets.
|
|
|
|
Release 3.1 (2008/06/30)
|
|
========================
|
|
|
|
The first ns-3 stable release
|
|
-----------------------------
|
|
|
|
This release is immediately available from:
|
|
http://www.nsnam.org/releases/ns-3.1.tar.bz2
|
|
|
|
We dedicate this initial ns-3 release to our late contributor and friend,
|
|
Federico Maguolo.
|
|
|
|
What is ns-3 ?
|
|
--------------
|
|
|
|
ns-3 is a new discrete-event network simulator designed for supporting network
|
|
research and education. ns-3 features a solid, well documented C++ core and
|
|
models for TCP/IP (IPv4), several link types including WiFi, and mobility
|
|
models.
|
|
|
|
ns-3 is an open source project released under the GNU GPLv2 license which
|
|
allows anyone to use ns-3 without having to pay any license fee or royalties.
|
|
ns-3 is actively seeking new contributors to extend the range of supported
|
|
models and/or to maintain existing models.
|
|
|
|
Where to get more information about ns-3
|
|
----------------------------------------
|
|
|
|
All the ns-3 documentation, is accessible from the ns-3 website:
|
|
http://www.nsnam.org
|
|
|
|
Including, tutorials:
|
|
http://www.nsnam.org/tutorials.html
|
|
|
|
Supported platforms
|
|
-------------------
|
|
|
|
ns-3 is regularly tested on the following platforms:
|
|
- linux x86 gcc 4.2, 4.1, and, 3.4.6.
|
|
- linux x86_64 gcc 4.1.3, 4.2.1, 3.4.6
|
|
- MacOS X ppc and x86
|
|
- cygwin gcc 3.4.4 (debug only)
|
|
|
|
Known issues
|
|
------------
|
|
|
|
ns-3 is known to fail on the following platforms:
|
|
- gcc 3.3 and earlier
|
|
- optimized builds on gcc 3.4.4 and 3.4.5
|
|
- optimized builds on linux x86 gcc 4.0.x
|
|
|
|
The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes
|
|
in preparation of the merge of the IPv6 API and implementation.
|
|
|
|
Future releases
|
|
---------------
|
|
|
|
Our next release, which is expected to happen in 2 to 4 months from now, will
|
|
feature the merging of some of our projects currently in development: python
|
|
scripting, IPv6, emulation, a statistics framework and synchronous posix
|
|
sockets.
|
|
|
|
Release 3.0.13 (2008/06/02)
|
|
===========================
|
|
- point to point links generate ppp pcap traces
|
|
- point to point links support asymmetrical data rates.
|
|
- generate doxygen documentation for all attributes and trace sources
|
|
- add ConfigStore and GtkConfigStore to contrib module
|
|
- socket API now support tx and rx buffers: implemented for UDP and TCP
|
|
- ARP cache now supports per-entry pending queues
|
|
- lots of bugfixes and implementation and API cleanups
|
|
|
|
Warning: among API changes in this release, Application::Start and
|
|
Application::Stop now interprets the time argument as a relative
|
|
instead of absolute simulation time, to align with how Simulator::Schedule
|
|
behaves. Any code that calls these APIs in the middle of the simulation
|
|
will need to be adapted.
|
|
|
|
The API of Simulator::StopAt (time) has also changed. Now it is
|
|
called Simulator::Stop (time), and takes a relative time, instead of
|
|
absolute.
|
|
|
|
Release 3.0.12 (2008/04/07)
|
|
===========================
|
|
- Add Attribute support to the TypeId metadata system and add
|
|
attribute support to all in-tree models
|
|
- Add a mid-level helper API to build simulation topologies
|
|
and perform simple ascii and pcap link-level tracing.
|
|
- Large amount of structural changes to accomodate the needs
|
|
of the upcoming python bindings
|
|
- new rate control algorithm (RRAA) and a jakes propagation model
|
|
in the 802.11 model (Federico Maguolo).
|
|
- regression test framework added
|
|
- TCP delayed acknowledgements and multitasking server
|
|
|
|
Release 3.0.11 (2008/02/15)
|
|
===========================
|
|
- Initial port of GTNetS TCP implementation (initial version
|
|
that does not support multitasking or delayed acknowledgments yet,
|
|
but supports a reliable stream service)
|
|
- Changes to the ns-3 object model to create a TypeId-based
|
|
metadata system
|
|
- lots of bug fixes throughout the system
|
|
- tutorial updates
|
|
|
|
Release 3.0.10 (2008/01/15)
|
|
===========================
|
|
- Add tutorial document content;
|
|
- Valgrind option for "waf" tool;
|
|
- Doxygen organization changes.
|
|
|
|
Release 3.0.9 (2007/12/15)
|
|
==========================
|
|
- A 802.11 model ported from Yans. This model supports:
|
|
* a rather extensive PHY model
|
|
* log-distance and friis propagation model
|
|
* a simple set of rate control algorithms (ARF, Ideal,
|
|
AARF, constant-rate)
|
|
* adhoc and infrastructure mode (beacon+assoc)
|
|
- Use smart pointer for Packet in the APIs
|
|
- A new contrib directory with helper classes:
|
|
EventGarbageCollector, Gnuplot
|
|
- Tracing support for Applications
|
|
- many bugs fixed
|
|
|
|
Release 3.0.8 (2007/11/15)
|
|
==========================
|
|
- A simple error model
|
|
- Source files for ns-3 tutorial
|
|
|
|
Release 3.0.7 (2007/10/15)
|
|
==========================
|
|
- OLSR routing protocol
|
|
- A timer class
|
|
- Additional mobility models (random waypoint, random 2D walk)
|
|
- A mobility visualization tool
|
|
|
|
Release 3.0.6 (2007/09/15)
|
|
==========================
|
|
- Static multicast IPv4 routing
|
|
- Logging overhaul (NS_LOG macros)
|
|
- Refactoring of tracing subsystem
|
|
- Tutorial document started
|
|
|
|
Release 3.0.5 (2007/08/15)
|
|
==========================
|
|
|
|
- Refactoring to support win32-based unix environments (Cygwin, mingw)
|
|
- "Packet socket" for allowing applications to access NetDevices directly
|
|
- Generalized, polymorphic Address class
|
|
- Add CSMA NetDevice model (from Emmanuelle Laprise)
|
|
- Modularize IPv4 routing support (from Gustavo Carneiro)
|
|
- Add mobility framework and basic mobility models
|
|
- Global unicast centralized routing
|
|
|
|
Release 3.0.4 (2007/07/15)
|
|
==========================
|
|
|
|
- Enable waf as the default build system.
|
|
- Per-packet metadata: a system to track which headers and trailers
|
|
are added to a packet
|
|
- Simplifications to point-to-point devices and channel
|
|
|
|
Release 3.0.3 (2007/06/15)
|
|
==========================
|
|
|
|
- Enable Waf for release tarballs: users can now build ns-3
|
|
with the "waf" tool. See doc/build-waf.txt.
|
|
- Add support for variable time precision: it is now possible
|
|
to run a simulation with an accuracy which is higher or lower
|
|
than a nanosecond: seconds, milliseconds, microseconds,
|
|
femtoseconds and picoseconds are supported.
|
|
- Optimize and rework the COM framework, solidify the component
|
|
manager
|
|
- Many small API cleanups
|
|
|
|
Release 3.0.2 (2007/05/18)
|
|
==========================
|
|
|
|
- Implement a new memory management infrastructure based
|
|
on reference counting and smart pointers (the latter being
|
|
optional)
|
|
|
|
- Implement a COM-like framework with support for QueryInterface
|
|
to provide object extensibility
|
|
|
|
- Add support for a BSD-style socket API for user applications
|
|
|
|
Release 3.0.1 (2007/03/31)
|
|
==========================
|
|
|
|
- First public release; not yet pre-alpha.
|
|
|
|
- Simple UDP-based simulation script (examples/simple-p2p.cc)
|