1647 lines
69 KiB
Plaintext
1647 lines
69 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-dev
|
||
============
|
||
|
||
Availability
|
||
------------
|
||
This release is not yet available.
|
||
|
||
Supported platforms
|
||
-------------------
|
||
|
||
New user-visible features
|
||
-------------------------
|
||
|
||
Bugs fixed
|
||
----------
|
||
- bug 1485 - Setting global properties in config file (raw text) does
|
||
not have any effect
|
||
|
||
Known issues
|
||
------------
|
||
In general, known issues are tracked on the project tracker available
|
||
at http://www.nsnam.org/bugzilla/
|
||
|
||
Release 3.15
|
||
============
|
||
|
||
Availability
|
||
------------
|
||
This release is not yet available.
|
||
|
||
Supported platforms
|
||
-------------------
|
||
- Fedora Core 17 (32/64 bit) with g++-4.7.0
|
||
- Fedora Core 15 (64 bit) with g++-4.6.3
|
||
- Ubuntu 12.04 (32/64 bit) with g++-4.6.3
|
||
- Ubuntu 10.04.4 LTS (64 bit) with g++-4.4.3
|
||
- OS X Mountain Lion 10.7.4 with g++-4.2.1
|
||
- OS X Snow Leopard 10.6.8 with g++-4.2.1
|
||
- FreeBSD 8.2 (32 bit) with g++-4.2.1
|
||
- Cygwin 1.7.9-1 with g++-4.5.3
|
||
|
||
New user-visible features
|
||
-------------------------
|
||
- A new random variable base class called 'RandomVariableStream', has been
|
||
introduced. This base class derives from ns3::Object, unlike the current
|
||
'RandomVariable' class which is a special type of object in the ns-3
|
||
system to date. By making this class derive from ns3::Object, it can be
|
||
handled with the Ptr class, can carry attributes, and can have its parameters
|
||
and initial state saved in the config-store subsystem. A new attribute
|
||
called "Stream" has been introduced for this class, to allow users to
|
||
better control the assignment of underlying pseudo-random sequences to
|
||
the RandomVariableStream objects (bug 101).
|
||
|
||
Bugs fixed
|
||
----------
|
||
- bug 101 - random variable initialization
|
||
- bug 1256 - Unnecessary SND.NXT advance, missing ACK for Out of Order segments
|
||
- bug 1308 - Nix-vector; do not process packets to self
|
||
- bug 1386 - assert if PositionAllocator not provided to
|
||
RandomWaypointMobilityModel
|
||
- bug 1399 - TCP not backing off retransmissions properly
|
||
- bug 1441 - IPv4 header length handling
|
||
- bug 1464 - ConfigStore Save + Load => Could not set default value
|
||
for ns3::UdpSocketImpl::IcmpCallback
|
||
- bug 1470 - define default parameter for constructor in .h file
|
||
- bug 1473 - GetQueue/SetQueue missing from Csma python bindings
|
||
- bug 1475 - "test.py --list" should sort the output
|
||
- bug 1476 - TestCase::GetName () should not be private
|
||
- bug 1477 - Click doesn't work with raw sockets
|
||
- bug 1481 - Openflow example doesn't run
|
||
- bug 1486 - Segfaults in nix-vector-routing with bridges
|
||
- bug 1489 - Jakes Log component is missing
|
||
- fixed bug with multiple LCs in UL BSR
|
||
- fixed bug with lena-dual-stripe crashes with --homeUesHomeEnbRatio=2
|
||
|
||
Known issues
|
||
------------
|
||
In general, known issues are tracked on the project tracker available
|
||
at http://www.nsnam.org/bugzilla/
|
||
|
||
Release 3.14.1
|
||
==============
|
||
|
||
Availability
|
||
------------
|
||
This release is available from:
|
||
http://www.nsnam.org/release/ns-allinone-3.14.1.tar.bz2
|
||
|
||
Bugs fixed
|
||
----------
|
||
This hotfix release contains a fix for the PyViz visualizer and makes it
|
||
easier to add PyViz support to examples; otherwise it is the same as the
|
||
ns-3.14 release.
|
||
|
||
Release 3.14
|
||
============
|
||
|
||
Availability
|
||
------------
|
||
This release is available from:
|
||
http://www.nsnam.org/release/ns-allinone-3.14.tar.bz2
|
||
|
||
Supported platforms
|
||
-------------------
|
||
ns-3.14 has been tested on the following platforms. Not all features are
|
||
available on all platforms; check the Installation page on the project wiki.
|
||
|
||
- Fedora Core 17 (32/64 bit) with g++-4.7.0
|
||
- Fedora Core 16 (32/64 bit) with g++-4.6.3
|
||
- Fedora Core 15 (64 bit) with g++-4.6.3
|
||
- Ubuntu 12.04 (32/64 bit) with g++-4.6.3
|
||
- Ubuntu 11.10 (32 bit) with g++-4.6.1
|
||
- Ubuntu 10.04.4 LTS (64 bit) with g++-4.4.3
|
||
- OS X Lion 10.7.4 with g++-4.2.1
|
||
- OS X Snow Leopard 10.6.8 with g++-4.2.1
|
||
- FreeBSD 8.2 (32 bit) with g++-4.2.1
|
||
- Cygwin 1.7.9-1 with g++-4.5.3
|
||
|
||
New user-visible features
|
||
-------------------------
|
||
- Transport protocol implementations (TCP, UDP) have been refactored to
|
||
support also IPv6 connections. Dual-stacked IPv6 sockets are implemented.
|
||
An IPv6 socket can accept an IPv4 connection, returning the sender's
|
||
address as an IPv4-mapped address (IPV6_V6ONLY socket option is not
|
||
implemented).
|
||
- The LTE code from the LENA project has been merged, bringing in a
|
||
significant redesign of the LTE module as well as many new features.
|
||
- An antenna module is now included, which includes different
|
||
radiation pattern models. See the corresponding new section of the
|
||
ns-3 models library documentation for details.
|
||
- A new buildings module is introduced which allows to model the
|
||
presence of buildings in a wireless network topology.
|
||
- New propagation models (OkumuraHata, ITU-R P.1411, ITU-R P.1238)
|
||
have been added
|
||
- The Dynamic Source Routing (DSR) MANET routing protocol for IPv4 was added.
|
||
- A Random Early Detection (RED) queue model has been added.
|
||
- Ipv6RoutingHelper is now in-line with Ipv4RoutingHelper concerning the RT
|
||
print functions. Various minor changes were made in Ipv6RoutingProtocol and
|
||
derived classes to make this possible.
|
||
- New "SendIcmpv6Redirect" attribute (and getter/setter functions) to
|
||
Ipv6L3Protocol. The behavior is similar to Linux's conf "send_redirects",
|
||
i.e., enable/disable the ICMPv6 Redirect sending.
|
||
- Longer and more descriptive names are used for error units in RateErrorModel
|
||
class and queue mode in Queue class. Attributes in those classes are also
|
||
changed for consistency. See API documentation for details.
|
||
- The netanim animator is now bundled with the release.
|
||
|
||
Bugs fixed
|
||
----------
|
||
- bug 603 - Simulator::Next is useless
|
||
- bug 631 - RealtimeSimulatorImpl does not handle Ctrl-C with python bindings
|
||
- bug 962 - list of paths to reach objects contains bogus entries
|
||
- bug 1000 - Make RealtimeSimulatorImpl last until stop
|
||
- bug 1053 - Need better error diagnostics in ns2-mobility-trace example
|
||
- bug 1109 - Point out the effects of ArpCache::PendingQueueSize
|
||
- bug 1179 - Add LTE trace hooks for supporting visualizer
|
||
- bug 1180 - LTE: Add TX/RX trace support
|
||
- bug 1273 - Better error message on missing Python development files
|
||
- bug 1282 - Sleep state and CCA
|
||
- bug 1283 - PacketSocket::SendTo should return number of bytes
|
||
- bug 1302 - Flow monitor bug
|
||
- bug 1304 - Tag information changed after transmission
|
||
- bug 1313 - Stddev (average.h) returning NaN
|
||
- bug 1318 - Asserts for IPv6 malformed packets
|
||
- bug 1319 - Fix Ipv6RawSocketImpl Icmpv6 filter
|
||
- bug 1325 - Python examples get valgrind errors when build subdirectories
|
||
are specified in waf
|
||
- bug 1339 - test.py uses the old name for the test runner
|
||
- bug 1348 - python bindings: deprecated conversion from string constant
|
||
to ‘char*’
|
||
- bug 1349 - TypeId.LookupAttributeByName Python bindings missing
|
||
- bug 1350 - Simulator.ScheduleWithContext Python binding missing
|
||
- bug 1351 and 1333 - TCP not able to take RTT samples on long delay network
|
||
- bug 1352 - Fixed MapAttributes, previously was mapped to a vector in
|
||
ObjectPtrContainer and (and key information was dropped).
|
||
Now the container is a map.
|
||
- bug 1354 - Building scratch subdir programs is broken
|
||
- bug 1355 - Visualizer dependencies not detected at buildtime
|
||
- bug 1357 - IPv6 fragmentation fails due to checks about malformed extensions
|
||
- bug 1362 - ICMPv6 does not forward ICMPs to upper layers (and minor
|
||
fixes to ICMPv6)
|
||
- bug 1376 - wrong wind variable's name
|
||
- bug 1378 - UdpEchoClient::SetFill () does not set packet size correctly
|
||
- bug 1379 - lte-multiple-flows example crashes
|
||
- bug 1380 - lte-phy-uplink example crashes
|
||
- bug 1391 - .ns3rc does not allow comments as expected
|
||
- bug 1392 - Modules built report does not clarify C++ or Python
|
||
- bug 1393 - IPv6 Routing Helper RT Print functions
|
||
- bug 1395 - AODV DeferredRouteOutputTag missing constructor
|
||
- bug 1396 - ARP with hardware addresses longer than 6 bytes
|
||
- bug 1399 - TCP not backing off retransmissions properly
|
||
- bug 1404 - Bound user input in tutorial third.cc program
|
||
- bug 1406 - waf exits with maximum recursion depth exceeded
|
||
- bug 1415 - examples-to-run.py doesn't work with command line arguments
|
||
- bug 1420 - no python bindings for csma-layout
|
||
- bug 1441 - IPv4 header length handling
|
||
|
||
Known issues
|
||
------------
|
||
In general, known issues are tracked on the project tracker available
|
||
at http://www.nsnam.org/bugzilla/
|
||
|
||
Release 3.13
|
||
==============
|
||
|
||
Availability
|
||
------------
|
||
This release is available from:
|
||
http://www.nsnam.org/release/ns-allinone-3.13.tar.bz2
|
||
|
||
Supported platforms
|
||
-------------------
|
||
ns-3.13 has been tested on the following platforms. Not all features are
|
||
available on all platforms; check the Installation page on the project wiki.
|
||
|
||
- Ubuntu 11.10 (32 bit) with g++-4.5.2
|
||
- Ubuntu 11.04 (32/64 bit) with g++-4.5.2
|
||
- Ubuntu 10.04.3 LTS (64 bit) with g++-4.4.3, g++-3.4.6
|
||
- OS X Lion with g++-4.2.1
|
||
- OS X Snow Leopard with g++-4.2.1
|
||
- Fedora Core 16 (32/64 bit) with g++-4.6.2
|
||
-- however, g++-3.4.6 fails on Fedora 16 i686
|
||
- Fedora Core 14 (64 bit) with g++-4.5.1
|
||
- FreeBSD 9.0-RC1 (AMD64) with g++-4.2.1
|
||
|
||
New user-visible features
|
||
-------------------------
|
||
- IPv6 address generator with support for duplicate address detection
|
||
|
||
Bugs fixed
|
||
----------
|
||
- bug 962 - list of paths to reach objects contains bogus entries
|
||
- bug 1001 - Buffer::CopyData() doesn't return the number of bytes copied
|
||
- bug 1010 - Uan model sleep patch
|
||
- bug 1020 - Wrong usage of the originator sequence number in HWMP PREP
|
||
- bug 1021 - Beacon collision avoidance in Mesh module works incorrectly
|
||
- bug 1039 - Nagle's algorithm in TCP
|
||
- bug 1055 - Wrong UAN's Thorp absorption loss model formula
|
||
- bug 1059 - Unable to load trace files created from SUMO and TraNS Lite
|
||
- bug 1112 - Advance m_nextTxSequence upon retransmit after RTO
|
||
- bug 1137 - mpi module is hard-coded for openmpi
|
||
- bug 1166 - IPV4 TCP failed to send a RST when connect arrives before listen
|
||
- bug 1186 - Ipv4Header lacks DSCP and ECN
|
||
- bug 1204 - Can't Parse Time +100000000.0ns
|
||
- bug 1219 - Coding style of ns2-mobility-helper-test-suite.cc is fixed
|
||
- bug 1257 - waf install __init__ Python files even with --disable-python
|
||
- bug 1263 - waf configure fails on FreeBSD 9.0-BETA2 amd64
|
||
- bug 1266 - gdb cannot be loaded
|
||
- bug 1227 - Spurious RTO due to low min RTO
|
||
- bug 1229 - Multiplication overflow in WaypointMobilityModel::EndMobility
|
||
- bug 1242 - m_lastRtt in tcp-socket-base.cc not implemented
|
||
- bug 1256 - TCP unnecessary snd.nxt advance
|
||
- bug 1265 - Make ns-3 directory "movable"
|
||
- bug 1269 - sqlite3 not found on FreeBSD
|
||
- bug 1270 - "Checking boost includes" weirdness
|
||
- bug 1278 - Ipv4ClickRouting::HandleScheduleFromClick bug
|
||
- bug 1281 - Checksum not calculated when doing IP fragmentation
|
||
- bug 1285 - IPv6 Localhost is marked as GLOBAL instead of HOST
|
||
- bug 1290 - buffer-test.cc gets a valgrind error
|
||
- bug 1295 - Missing const qualifiers in TopologyRead
|
||
- bug 1299 - EnableAsciiIpv4All tracing doesn't show transmitted/recvd packets
|
||
- bug 1300 - HalfDuplexIdealPhy notify SpectrumInterference of AbortRx
|
||
- bug 1301 - Ns2MobilityHelper causes Node GetPosition() to return NaN
|
||
- bug 1305 - do not list modules built upon exiting waf shell
|
||
- bug 1312: TopologyRead Assert condition fix
|
||
- IPv4 packets double fragmentation was broken
|
||
- Fix wifi-clear-channel-cmu.cc example
|
||
- NetAnim: fix for bcast packet reuse
|
||
- Missing PropagationLossModel.CalcRxPower in Python bindings
|
||
- Corrected compilation behavior in Ubuntu 11.10 due to ldd behavior change
|
||
- Added required PTHREAD dependency to RT library check.
|
||
|
||
Known issues
|
||
------------
|
||
In general, known issues are tracked on the project tracker available
|
||
at http://www.nsnam.org/bugzilla/
|
||
|
||
Release 3.12.1
|
||
==============
|
||
|
||
Availability
|
||
------------
|
||
This release is available from:
|
||
http://www.nsnam.org/release/ns-allinone-3.12.1.tar.bz2
|
||
|
||
Bugs fixed
|
||
----------
|
||
This release fixes PyViz visualizer's python bindings; otherwise, it
|
||
is the same as the ns-3.12 release.
|
||
|
||
Release 3.12
|
||
===========
|
||
|
||
Availability
|
||
------------
|
||
This release is available from:
|
||
http://www.nsnam.org/release/ns-allinone-3.12.tar.bz2
|
||
|
||
Supported platforms
|
||
-------------------
|
||
ns-3.12 has been tested on the following platforms. Not all features are
|
||
available on all platforms; check the Installation page on the project wiki.
|
||
|
||
- Fedora Core 15 (32/64 bit) with g++-4.6.0
|
||
- Ubuntu 11.04 (32/64 bit) with g++-4.5.2
|
||
- OS X Lion with g++-4.2.1
|
||
- Fedora Core 14 (64 bit) with g++-4.3.4, g++-4.5.3, g++-4.4.6
|
||
- Fedora Core 12 (64 bit) with g++-4.4.4
|
||
- OS X Snow Leopard with g++-4.2.1
|
||
- Ubuntu 10.04.3 LTS (64 bit) with g++-4.4.3, g++-3.4.6
|
||
|
||
New user-visible features
|
||
-------------------------
|
||
|
||
- SpectrumChannel models now support the usage of single-frequency
|
||
propagation loss models based on the PropagationLossModel
|
||
class. These model can be used in conjunction with
|
||
the frequency-dependent propagation loss model based on the
|
||
SpectrumPropagationLossModel class already supported by
|
||
SpectrumChannel.
|
||
|
||
- Extend the attribute system extend the attribute system to store map
|
||
container objects in addition to vector containers. The ObjectMap
|
||
and related classes are patterned after ObjectVector.
|
||
|
||
- Support for IPv4 fragmentation has been added.
|
||
|
||
- Significant performance improvement for AODV in dense mobile scenarios
|
||
due to a fixed bug in RERR processing.
|
||
|
||
- WiFi traces that were named promiscuous are now renamed monitor, and
|
||
a separate flag for setting the interface to promiscuous mode has been
|
||
introduced. This disambiguates monitor mode from promiscuous mode.
|
||
|
||
- Monolithic Python bindings have been removed
|
||
|
||
Bugs fixed
|
||
----------
|
||
- bug 845 - fix ConfigStore output for changing default values
|
||
- bug 1010 - Uan model Sleep patch
|
||
- bug 1033 - Mesh airtime-metric fixed
|
||
- bug 1043 - lte-spectrum-value-helper.cc file swapped uplink/downlink freq.
|
||
- bug 1050 - ISO C++ forbids variable length array; remove all instances
|
||
- bug 1057 - LTE bearers differentiation issue
|
||
- bug 1082 - Check that log component names are correct when taken from NS_LOG
|
||
- bug 1100 - IPv6 fragmentation enhancements
|
||
- bug 1102 - IPv4 header fragment offset field not set correctly
|
||
- bug 1123 - class MinMaxAvgTotalCalculator does not implement all methods
|
||
- bug 1134 - Fix LiIonEnergySource attribute spelling for InitialCellVoltage
|
||
- bug 1139 - Broadcast packets issue in uan cw mac
|
||
- bug 1141 - MeshWifiInterfaceMac adds supported modes to wrong remote station
|
||
- bug 1163 - Ipv4EndPointDemux::AllocateEphemeralPort forget to increment port
|
||
- bug 1164 - IPV4 TCP Bind already used port failed, but without setting errno
|
||
- bug 1168 - BridgeNetDevice: default expiration time not realistic
|
||
- bug 1174 - Ns-3 does not generate static libraries
|
||
- bug 1175 - shared libraries are not versioned
|
||
- bug 1193 - AODV Hello timers scheduling skewed when RREP, RREQ are processed
|
||
- bug 1194 - AODV Incorrect RERR processing
|
||
- bug 1201 - UDP sockets need to set connected state before notifying the ConnectionSucceeded callback
|
||
- bug 1208 - Spectrum module example causing valgrind errors
|
||
- bug 1209 - ns-3-click fails to build on Fedora 15 when tests are enabled
|
||
- bug 1220 - FdReader always stops with NS_FATAL_ERROR
|
||
- bug 1222 - Incomplete PointToPointNetDevice Python bindings
|
||
- bug 1224 - ns-3-allinone fails to compile on OS X Lion
|
||
- bug 1226 - Incomplete YansWifiChannel Python bindings
|
||
- bug 1234 - GetAttributeChecker is not defined anymore but still used
|
||
- bug 1239 - Add assertion that reference count never overflows
|
||
- bug 1244 - Seg Faults in optimized builds due to missing Logging components
|
||
- Fix ARP issue in nsclick-ip-router.click and static route in nsclick-routing-node2.click
|
||
|
||
Known issues
|
||
------------
|
||
In general, known issues are tracked on the project tracker available
|
||
at http://www.nsnam.org/bugzilla/
|
||
|
||
Release 3.11
|
||
===========
|
||
|
||
Availability
|
||
------------
|
||
This release is available from:
|
||
http://www.nsnam.org/release/ns-allinone-3.11.tar.bz2
|
||
|
||
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
|
||
- OS X Snow Leopard
|
||
- g++-4.2.1
|
||
|
||
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 823 - Need finer-grained control over what goes into libns3
|
||
- 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/release/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/release/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/release/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/release/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/release/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/release/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/release/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/release/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/release/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/release/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)
|