2457 lines
109 KiB
Plaintext
2457 lines
109 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
|
||
-------------------------
|
||
- (network) SimpleChannel allows per-NetDevice blacklists, in order to do hidden terminal testcases.
|
||
|
||
Bugs fixed
|
||
----------
|
||
- Bug 1736 - default dot11EDCATableMSDULifetime
|
||
- Bug 1929 - TcpL4Protocol::Send must indicate the source address to routing (if known)
|
||
- Bug 2126 - LrWpanNetDevice silently accepts no mobility on the node
|
||
- Bug 2130 - Allow SimpleChannel to simulate hidden terminals.
|
||
- Bug 2135 - TCP doesn't honor the socket's output interface
|
||
- Bug 2136 - The usage of tid in wifi and wave module shall be "if (tid > 7)" rather than "if (tid >= 7)"
|
||
- Bug 2138 - SimpleNetDevice could send overlapped packets.
|
||
|
||
Known issues
|
||
------------
|
||
In general, known issues are tracked on the project tracker available
|
||
at http://www.nsnam.org/bugzilla/
|
||
|
||
Release 3.23
|
||
============
|
||
|
||
Availability
|
||
------------
|
||
This release is available from:
|
||
http://www.nsnam.org/release/ns-allinone-3.23.tar.bz2
|
||
|
||
Supported platforms
|
||
-------------------
|
||
This release has been tested on the following platforms:
|
||
- Ubuntu 15.04 (64 bit) with g++-4.9.2
|
||
- Fedora Core 21 (64 bit) with g++-4.9.2
|
||
- Ubuntu 14.04 (64 bit) with g++-4.8.2
|
||
- Ubuntu 12.04.4 (32/64 bit) with g++-4.6.3
|
||
- CentOS/RHEL 6.6 (64-bit) with g++-4.4.7
|
||
- OS X Yosemite 10.10.3 with Xcode 6.3.1 and Apple LLVM version 6.1.0
|
||
- FreeBSD 10.1-RELEASE (64 bit) with clang-3.4.1
|
||
|
||
New user-visible features
|
||
-------------------------
|
||
- (network) CalculateTxTime has been declared obsolete.
|
||
CalculateBytesTxTime and CalculateBitsTxTime are to be used instead.
|
||
The return value is a Time, instead of a double.
|
||
- (mobility) Classes added for converting geographic to cartesian coordinates.
|
||
- (spectrum) TvSpectrumTransmitter models added to create television
|
||
transmitter(s) that transmit PSD spectrums customized by attributes such
|
||
as modulation type, power, antenna type, channel frequency, etc.
|
||
- (wifi) Several model improvements have been made. Access points now
|
||
establish BSSBasicRateSet for control frame transmissions. PLCP header
|
||
and payload reception have been decoupled for improved PHY modeling
|
||
accuracy. RTS/CTS with A-MPDU is now fully supported, and 802.11n
|
||
stations now support two-level aggregation.
|
||
|
||
Bugs fixed
|
||
----------
|
||
- Bug 1757 - RLC AM not using NACK_SN
|
||
- Bug 1974 - CalculateTxTime should return a Time, not a double
|
||
- Bug 1982 - AODV and mesh use random variables before seed can be set
|
||
- Bug 2004 - Wrong timeout calculation for 802.11n in WifiMac
|
||
- Bug 2008 - (lr-wpan) Crash if ending rx while status change is in progress
|
||
- Bug 2025 - (lr-wpan) Changing the channel doesn't affect the Tx params
|
||
- Bug 2034 - (lr-wpan) CSMA-CA BackoffPeriod is too short
|
||
- Bug 2054 - TCP window update can shrink the Left Edge of the window
|
||
- Bug 2066 - A-MPDU reception should check for successful preamble
|
||
- Bug 2067 - TCP performance when advertised window exceeds sender buffer size
|
||
- Bug 2070 - Wrong report of Packets and Bytes stored in CoDeL
|
||
- Bug 2073 - NDisc cache entries update timer might be stuck in a loop
|
||
- Bug 2075 - A-MPDU using RTS/CTS behaves wrongly when MaxSsrc is reached
|
||
- Bug 2076 - TCP MinRTO Attribute is not actually used
|
||
- Bug 2077 - Icmpv6L4Protocol::HandleDestinationUnreachable must check the packet size, not its serialized size
|
||
- Bug 2079 - mcs variable in ht-wifi-network example is confusing
|
||
- Bug 2082 - Empirical RV fails if the value provided in the CDF member function is negative
|
||
- Bug 2083 - BridgeNetDevice may send corrupted packets
|
||
- Bug 2087 - Waf fails to build ns-3 if the path contains accented characters
|
||
- Bug 2090 - (rip-ng) Routes may be added twice on interface activation
|
||
- Bug 2093 - MultiModelSpectrumChannel::GetDevice only works for 0-th index
|
||
- Bug 2095 - (wimax) Wrong values in default-traces.h for 16 QAM 3/4
|
||
- Bug 2097 - ACKs should be sent using legacy rates and preambles in 802.11n
|
||
- Bug 2103 - Ipv[4,6]RoutingHelper::PrintRoutingTableAll[At,Every] hangs if a node doesn't have IP
|
||
|
||
Known issues
|
||
------------
|
||
In general, known issues are tracked on the project tracker available
|
||
at http://www.nsnam.org/bugzilla/
|
||
|
||
Release 3.22
|
||
============
|
||
|
||
Availability
|
||
------------
|
||
This release is available from:
|
||
http://www.nsnam.org/release/ns-allinone-3.22.tar.bz2
|
||
|
||
Supported platforms
|
||
-------------------
|
||
This release has been tested on the following platforms:
|
||
- Fedora Core 21 (64 bit) with g++-4.9.2
|
||
- Ubuntu 14.10 (32 bit) with g++-4.9.1
|
||
- Ubuntu 14.04 (64 bit) with g++-4.8.2
|
||
- Ubuntu 12.04.4 (32/64 bit) with g++-4.6.3
|
||
- CentOS/RHEL 6.6 (64-bit) with g++-4.4.7
|
||
- OS X Yosemite 10.10 with Xcode 6.1.1 and clang-600.0.56
|
||
- FreeBSD 10.1-RELEASE (64 bit) with clang-3.4.1
|
||
|
||
New user-visible features
|
||
-------------------------
|
||
- (wifi) Support for MPDU aggregation has been added to the wifi model,
|
||
as well as a number of related example programs.
|
||
- (wifi) Added two combined power and rate control mechanisms to the
|
||
wifi module. The new mechanisms, PARF and APARF, are the first in the
|
||
wifi module to jointly control transmission power and data rate. Two use
|
||
case examples (PowerAdaptationDistance and PowerAdaptationInterference)
|
||
and a test case have also been added.
|
||
- (lte) In previous releases of the LTE module, the bearer release
|
||
functionality was only partially supported. As an enhancement, a
|
||
complete release bearer procedure is now implemented, which can be
|
||
invoked by calling the new helper method
|
||
LteHelper::DeActivateDedicatedEpsBearer(). The related output can be
|
||
seen through the stats collected at different layers like PDCP, RLC,
|
||
MAC, PHY. To support this implementation, an example and test suite is
|
||
added within the LTE module examples and tests folder.
|
||
- (wave) Additional support has been added for WiFi-based vehicular networks,
|
||
including the channel-access coordination features of IEEE 1609.4 and a
|
||
comprehensive VANET routing example that includes a Basic Safety
|
||
Message (BSM) packet generator application and associated statistics
|
||
counters. Together, these allow users to evaluate the performance effects
|
||
in a VANET of varying transmission and channel properties (e.g., packet
|
||
rate, message size, transmit power, propagation loss model, impact of
|
||
routing protocol traffic, etc.).
|
||
- (internet) It is now possible to print the Neighbor Cache (ARP and NDISC)
|
||
by using the RoutingProtocolHelper
|
||
- (stats) A new TimeProbe class has been added to hook the data collection
|
||
framework to traced values emitting Time objects
|
||
- (documentation) the callback function signatures for all TraceSources
|
||
is documented in Doxygen
|
||
- (utils) print-introspected-doxygen.cc has had several enhancements;
|
||
use -h to read the usage message for details.
|
||
- (core) TracedValue and TracedCallback function signatures are now documented,
|
||
which required changing the TypeId::AddTraceSource API.
|
||
|
||
Bugs fixed
|
||
----------
|
||
- Bug 1405 - RttEstimator improvements
|
||
- Bug 1551 - NS_LOG_COMPONENT_DEFINE inside or outside of ns3 namespace?
|
||
- Bug 1726 - WiFi Minstrel rate control algorithm doesn't save state
|
||
- Bug 1734 - TcpSocketBase produces spurious delayed ACKs
|
||
- Bug 1758 - Yans and Nist error rate models for 5/6 code rate 802.11n HT
|
||
- Bug 1770 - mesh test and example crash for 32-bit optimized builds
|
||
- Bug 1774 - compute signal power around channel, not across whole band, and fix LrWpanHelper to add a default PropagationDelayModel
|
||
- Bug 1791 - TCP Endpoint never deallocates when closing
|
||
- Bug 1801 - Setting Wi-Fi timing parameters through WifiMac attributes (documentation fix)
|
||
- Bug 1906 - 802.11n PHY configuration for 2.4GHz and 5GHz devices
|
||
- Bug 1957 - UdpSocketImpl is stuck after a Close()
|
||
- Bug 1968 - Missing supported 802.11n HT rates in the WifiPhy constructor
|
||
- Bug 1969 - Support short guard interval durations in 802.11n
|
||
- Bug 1970 - Missing NotifyAckTimeoutStartNow in MacLow::StartDataTxTimers
|
||
- Bug 1971 - 802.11n at 2.4 GHz should include a signal extension duration
|
||
- Bug 1972 - CommandLine duplicate argument handling: documentation updated.
|
||
- Bug 1983 - FlowMonitor returns containers copies instead of references.
|
||
- Bug 1986 - test result divergence for lte-frequency-reuse test
|
||
- Bug 1991 - PcapFileWrapper::CaptureSize attribute (snaplen) has no effect.
|
||
- Bug 1995 - avoid multiple definitions of PI
|
||
- Bug 1996 - RSRQ calculation: misleading variable names
|
||
- Bug 1997 - Fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
|
||
- Bug 2002 - Hardcoded include paths cause breakage
|
||
- Bug 2011 - Default Speed attribute in ConstantSpeedPropagationDelayModel
|
||
- Bug 2016 - Radvd do not consider the SendAdvert option and don't reply to RS
|
||
- Bug 2020 - Erroneous MCS field in 802.11n PCAP files
|
||
- Bug 2021 - Missing const qualifier in TopologyReader::Link::Attributes{Begin,End}()
|
||
- Bug 2026 - 802.11n Ness parameter badly set for data frames
|
||
- Bug 2027 - Calculation of HT training symbol duration does not accurately follow 802.11n standard
|
||
- Bug 2028 - remove unnecessary Time to double conversions in Wifi models
|
||
- Bug 2029 - new CQI generation approach fix
|
||
- Bug 2030 - provide default values for WifiTxVector
|
||
- Bug 2037 - HT capabilities may print bogus chars
|
||
- Bug 2038 - Stop method does not stop next wave in WaveformGenerator
|
||
- Bug 2042 - LTE a3-rsrp-handover-algorithm.cc: error: overflow in implicit constant conversion
|
||
- Bug 2043 - print-introspected-doxygen crashes when some modules are disabled
|
||
- Bug 2044 - Buffer::Iterator::ReadNtohU16() and ReadNtohU32() not implemented correctly
|
||
- Bug 2045 - Missing NS_OBJECT_ENSURE_REGISTERED in TcpTxBuffer and TcpRxBuffer
|
||
- Bug 2046 - set Block Ack timeout when SetStandard is called
|
||
- Bug 2047 - Ipv6EndPointDemux::Lookup may crash
|
||
- Bug 2049 - CQI feedback should always use the same calculation method
|
||
- Bug 2053 - In tcp-socket-base.cc, NotifyDataSent incorrectly called with retransmits
|
||
- Bug 2055 - TCP TxBuffer and RxBuffer traces don't work
|
||
- Nix-vector routing implementation now uses a lazy flush mechanism,
|
||
which dramatically speeds up the creation of large topologies.
|
||
|
||
Known issues
|
||
------------
|
||
In general, known issues are tracked on the project tracker available
|
||
at http://www.nsnam.org/bugzilla/
|
||
|
||
Release 3.21
|
||
============
|
||
|
||
Availability
|
||
------------
|
||
This release is available from:
|
||
http://www.nsnam.org/release/ns-allinone-3.21.tar.bz2
|
||
|
||
Supported platforms
|
||
-------------------
|
||
- Fedora Core 20 (32/64 bit) with g++-4.8.2
|
||
- Ubuntu 14.04 (32/64 bit) with g++-4.8.2
|
||
- Ubuntu 12.04.4 (64 bit) with g++-4.6.3
|
||
- Ubuntu 10.04.4 LTS (64 bit) with g++-4.4.3
|
||
- CentOS/RHEL 6.5 (64-bit) with g++-4.4.7
|
||
- OS X Mavericks 10.9 with Xcode 5.1.1 and clang-503.0.40
|
||
- FreeBSD 9.2-RELEASE (64 bit) with clang-3.3
|
||
|
||
New user-visible features
|
||
-------------------------
|
||
|
||
- The LTE module now supports the transport of the S1-U, X2-U and X2-C
|
||
interfaces over emulated links via the new helper class EmuEpcHelper.
|
||
- CommandLine can now provide a shorthand argument name for any
|
||
Attribute.
|
||
- Implemented support for Frequency Reuse algorithms in LTE module, as the
|
||
outcome of GSoC 2014 project.
|
||
The project also includes several sub-features, such as:
|
||
- implementation of Downlink Power Control
|
||
- implementation of Uplink Power Control
|
||
- new DL-CQI generation approach, which increases throughput if FR algorithms
|
||
are used
|
||
- seven options of Frequency Reuse algorithms: LteFrNoOpAlgorithm,
|
||
LteFrHardAlgorithm, LteFrStrictAlgorithm, LteFrSoftAlgorithm,
|
||
LteFfrSoftAlgorithm, LteFfrEnhancedAlgorithm, LteFfrDistributedAlgorithm
|
||
- updated RadioEnvironmentMapHelper. Now RadioEnvironmentMap can be generated
|
||
for Data or Control channel and for specified RbId, what is helpful when
|
||
using FR algorithms
|
||
- Added a CoDel queue model. CoDel queues measure and control the queue
|
||
traversal delay. The ns-3 implementation is a port of the Linux
|
||
implementation.
|
||
- Added support for TCP timestamp and window scale options, and added
|
||
ability to trace the TCP slow start threshold value.
|
||
- SimpleNetDevice and SimpleChannel (used for adding basic link effects
|
||
for testing of higher-layer protocols) have been extended to support
|
||
the option of broadcast or PointToPoint link semantics. The bandwidth
|
||
and link delay can be constrained, and it uses an output queue.
|
||
- SimpleNetDevice and SimpleChannel can be installed in a node through
|
||
a new helper: SimpleNetDeviceHelper.
|
||
- Implemented new PacketSocketServer and PacketSocketClient applications.
|
||
The primary use is in tests, to avoid using the ones from the
|
||
application module that also bring in a dependency on the internet module.
|
||
|
||
Bugs fixed
|
||
----------
|
||
|
||
- Bug 1673 - Config::Set/Connect does not search for attributes in parent class
|
||
- Bug 1762 - UE stuck in IDLE_CONNECTING because RRC CONN REQ is not transmitted
|
||
- Bug 1811 - basic traffic generator for network module
|
||
- Bug 1824 - L4 protocol sockets should support BindToNetDevice over IPv6
|
||
- Bug 1831 - TcpSocket SlowStartThreshold is not a TraceSource
|
||
- Bug 1851 - WifiRadioEnergyModel energy consumption values are taken from a 802.15.4 chip
|
||
- Bug 1854 - std::out_of_range Problem
|
||
- Bug 1858 - wireless examples not correctly recording packet reception
|
||
- Bug 1860 - TCP needs the Window Scale option
|
||
- Bug 1893 - issue in DoSchedUlTriggerReq with harq
|
||
- Bug 1911 - AODV cannot work on nodes with more than one netdevice
|
||
- Bug 1921 - Icmpv6L4Protocol::ForgeEchoRequest returns a malformed packet
|
||
- Bug 1930 - Use of invalid reference in OLSR RemoveLinkTuple
|
||
- Bug 1932 - NdiscCache entry is not failsafe on double neighbor probing.
|
||
- Bug 1937 - FlowMonitor fails to track multiplexed packets
|
||
- Bug 1942 - refactoring of lte-sinr-chunk-processor -> lte-chunk-processor
|
||
- Bug 1943 - Waveform generator signal duration calc error
|
||
- Bug 1951 - AODV does not update nexthop for 1-hop nodes
|
||
- Bug 1955 - The IPv4 identification field should be unique per (source, destination, protocol) tuple
|
||
- Bug 1960 - Wrong information on index range, about Node::GetDevice
|
||
- Bug 1961 - planetlab-tap-creator "variable set but not used"
|
||
- Bug 1963 - AODV can tag the same packet twice (and raise an assert)
|
||
- Bug 1964 - Integer overflow on UniformRandomVariable::GetInteger()
|
||
- Bug 1967 - LL Multicast is not compressed in the right way in IPHC
|
||
- Bug 1981 - PyViz shell not compatible with ipython >= 0.11
|
||
|
||
Known issues
|
||
------------
|
||
- Bug 1770 - The mesh module will crash if used for g++ version >= 4.8.1
|
||
in optimized mode, on a 32-bit Linux machine. Lowering the optimization
|
||
level to -O1 in this case can be used as a workaround.
|
||
|
||
Release 3.20
|
||
=============
|
||
|
||
Availability
|
||
------------
|
||
This release is available from:
|
||
http://www.nsnam.org/release/ns-allinone-3.20.tar.bz2
|
||
|
||
Supported platforms
|
||
-------------------
|
||
- Fedora Core 20 (32/64 bit) with g++-4.8.2
|
||
- Ubuntu 14.04 (32/64 bit) with g++-4.8.2
|
||
- Ubuntu 12.04.4 (64 bit) with g++-4.6.3
|
||
- Ubuntu 10.04.4 LTS (64 bit) with g++-4.4.3
|
||
- CentOS/RHEL 6.5 (64-bit) with g++-4.4.7
|
||
- OS X Mavericks 10.9 with Xcode 5.1.1 and clang-503.0.40
|
||
- FreeBSD 9.2-RELEASE (64 bit) with clang-3.3
|
||
|
||
New user-visible features
|
||
-------------------------
|
||
|
||
- A new LrWpan model, providing initial support for IEEE 802.15.4 networks
|
||
- A new IPv6 routing protocol has been added: RIPng. This protocol is
|
||
an Interior Gateway Protocol and it is available in the Internet module.
|
||
- A new LTE MAC downlink scheduling algorithm named Channel and QoS Aware (CQA)
|
||
Scheduler is provided by the new ``ns3::CqaFfMacScheduler`` object.
|
||
- The Internet FlowMonitor can now track IPv6 packets.
|
||
- FlowMonitor no longer tracks multicast/broadcast packets, reflecting
|
||
its original design.
|
||
- FlowMonitor "SerializeToXml" functions are now directly available
|
||
from the helper.
|
||
- The SixLowPan model can now use uncompressed IPv6 headers. An option to
|
||
define the minimum compressed packet size has been added.
|
||
- Simplify output of Times in a specific unit; see Time::As ()
|
||
- Ipv6Extension::m_dropTrace has been removed. Ipv6L3Protocol::m_dropTrace
|
||
is now fired when appropriate.
|
||
- IPv4 identification field value is now dependent on the protocol field.
|
||
- Fixes to support Python >= 3.3 in ns3 Python bindings
|
||
- Enable selection of high precision int64x64_t implementation
|
||
at configure time, for debugging purposes.
|
||
|
||
Bugs fixed
|
||
----------
|
||
- Bug 1276 - optimize NistErrorRateModel
|
||
- Bug 1294 - New PeekU8 () and Read (Buffer::Iterator start, uint32_t size) methods in Buffer::Iterator
|
||
- Bug 1443 - MinDistance replaced by MinLoss in FriisPropagationLossModel, to
|
||
better handle conditions outside of the assumed far field region.
|
||
- Bug 1653 - Extension of CommandLine interface: restored operator << (CommandLine)
|
||
- Bug 1717 - Detect unsettable attributes
|
||
- Bug 1730 - no model library documentation for spectrum module
|
||
- Bug 1739 - The endpoint is not deallocated for UDP sockets
|
||
- Bug 1786 - os << int64x64_t prints un-normalized fractional values
|
||
- Bug 1787 - Runtime error when using AnimationInterface::EnablePacketMetadata() to fetch metadata of CSMA packet
|
||
- Bug 1792 - Parameter logger constructor
|
||
- Bug 1808 - FlowMon relies on IPv4's Identification field to trace packets
|
||
- Bug 1817 - IPv4 Identification field should consider protocol as well.
|
||
- Bug 1818 - FlowMonitor needs IPv6 support
|
||
- Bug 1820 - models library doc: make should not rm -rf figures
|
||
- Bug 1821 - Setting an interface to Down state will cause various asserts in IPv6
|
||
- Bug 1829 - Multiple TCP socket entries
|
||
- Bug 1837 - AODV crashes when using multiple interfaces
|
||
- Bug 1838 - FlowMonitorHelper must not be copied.
|
||
- Bug 1841 - FlowMonitor fails to install if IPv4 is not installed in the node
|
||
- Bug 1842 - FlowMonitor SerializeToXml<Something> should be called by the helper
|
||
- Bug 1843 - IPv6 extensions dropped packets do not fire L3 drop trace
|
||
- Bug 1845 - FlowMonitor should discard any broadcast/multicast packet
|
||
- Bug 1846 - IPv6 should send Destination Unreachable if no route is available
|
||
- Bug 1850 - TCP NewReno loss behavior
|
||
- Bug 1852 - cairo-wideint-private.h error cannot find definitions for fixed-width integral types
|
||
- Bug 1853 - NS_LOG_FUNCTION broken on OSX 10.9
|
||
- Bug 1855 - SixLowPanNetDevice is not correctly indexed
|
||
- Bug 1857 - Detect location of installed boost libraries
|
||
- Bug 1862 - NS_LOG="Time=*|prefix_time" causes stack overflow
|
||
- Bug 1868 - Optimized builds are sensitive to -fstrict-overflow
|
||
- Bug 1870 - Remove unnecessary AsInt functions
|
||
- Bug 1872 - Inside RREQ processing, in case of IP duplication, packet dropped instead of being forwarded
|
||
- Bug 1873 - Energy source checked to be aggregated to the node
|
||
- Bug 1874 - Ipv4L3Protocol::ProcessFragment: addressCombination and idProto identifiers not properly computed
|
||
- Bug 1876 - enable OLSR HNA table access
|
||
- Bug 1877 - constructors missing for PropagationLossModels
|
||
- Bug 1882 - int64x64 tests trigger valgrind bug
|
||
- Bug 1883 - IPv6 don't consider the prefix and network when choosing output address
|
||
- Bug 1885 - WifiSpectrumValue5MhzFactory::CreateRfFilter does not align with the used 5Mhz SpectrumModel
|
||
- Bug 1887 - Point-to-point traces should contain PPP headers
|
||
- Bug 1888 - COST231 propagation loss model: corrections
|
||
- Bug 1889 - PointToPointNetDevice: In some cases MacTxDrop trace is not called
|
||
- Bug 1890 - UdpClientTrace: MPEG frame size is squeezed into (insufficient) 16 bit integer
|
||
- Bug 1891 - UdpSocketImpl::GetSockName doesn't return the IPv6 address
|
||
- Bug 1894 - CqaFfMacScheduler needs an update
|
||
- Bug 1895 - IP header Source Address changed while forwarding RREQ
|
||
- Bug 1900 - Avoid floating point differences across platforms in test outputs
|
||
- Bug 1903 - Namespace usage in olsr-state.cc/h
|
||
- Bug 1907 - Add IsSupportedMcs method in YansWifiPhy
|
||
- Bug 1912 - Avoid multiple Wifi MacTxMiddle instances
|
||
- Bug 1913 - Avoid crash in Wifi BlockAckManager::GetNextPacket()
|
||
- Bug 1915 - BRITE channel delay is rounded to an integer
|
||
- Bug 1916 - RandomWalk2dMobilityMode default "Bounds" attribute is not a rectangle
|
||
- Bug 1919 - Strip trailing semi-colons from mobility trace files
|
||
- Bug 1920 - Remove DSR attributes so file can be re-loaded by config-store
|
||
- Bug 1922 - WAVE GetSsid should not be fatal
|
||
- Bug 1923 - Setting Active Probing to false in Wifi Sta has no effect
|
||
- Bug 1924 - sensing radius and CCA
|
||
|
||
Known issues
|
||
------------
|
||
- Bug 1770 - The mesh module will crash if used for g++ version >= 4.8.1
|
||
in optimized mode, on a 32-bit Linux machine. Lowering the optimization
|
||
level to -O1 in this case can be used as a workaround.
|
||
|
||
Release 3.19
|
||
=============
|
||
|
||
Availability
|
||
------------
|
||
This release is available from:
|
||
http://www.nsnam.org/release/ns-allinone-3.19.tar.bz2
|
||
|
||
Supported platforms
|
||
-------------------
|
||
These platforms have been tested; others may work also:
|
||
- Fedora Core 20 (32 bit) with g++-4.8.2
|
||
- Fedora Core 19 (32/64 bit) with g++-4.8.1
|
||
- Ubuntu 13.10 (64 bit) with g++-4.8.1
|
||
- Ubuntu 12.04.3 (32/64 bit) with g++-4.6.3
|
||
- Ubuntu 10.04.4 LTS (64 bit) with g++-4.4.3
|
||
- OS X Mavericks 10.9 with Xcode 5.0.1 and clang-500.2.79
|
||
- OS X Mountain Lion 10.8.5 with Xcode 5 and g++-4.2.1
|
||
- FreeBSD 9.2-RELEASE (64 bit) with clang-3.3
|
||
|
||
New user-visible features
|
||
-------------------------
|
||
- Extension to UE measurements and improved handover algorithm models in LTE
|
||
module, as the outcome of GSoC 2013 project. The project also includes several
|
||
sub-features, such as:
|
||
- implementation of System Information Block Type 1 (SIB1);
|
||
- a new option for automatic UE attachment using Idle mode cell selection
|
||
procedure;
|
||
- improved configurability of UE measurements; and
|
||
- two options of handover algorithms for enabling automatic handover trigger
|
||
in LTE simulation: A2-A4-RSRQ and strongest cell (A3-RSRP).
|
||
|
||
- A new FixedRoomPositionAllocator has been added to the buildings
|
||
module. It allows one to generate a random position uniformly
|
||
distributed in the volume of a chosen room inside a chosen building.
|
||
|
||
- A new attribute ns3::LteRlcAm::TxOpportunityForRetxAlwaysBigEnough
|
||
allows to overcome the lack for re-segmentation in the RLC AM
|
||
implementation by assuming that the size of a TxOpportunity is
|
||
always big enough for the RLC AM PDU to be retransmitted.
|
||
|
||
- After some profiling, the code of LteMiErrorModel has been optimized
|
||
for speed, resulting in a significantly lower execution time of the
|
||
LTE model when used with the error model enabled.
|
||
|
||
- A new WiFi extension for vehicular simulation support is available in
|
||
the src/wave directory. The current code represents an interim capability
|
||
to realize an IEEE 802.11p-compliant device, but without the WAVE
|
||
extensions (which are planned for a later patch). The WaveNetDevice
|
||
modelled herein enforces that a WAVE-compliant physical layer (at 5.9 GHz)
|
||
is selected, and does not require any association between devices (similar
|
||
to an adhoc WiFi MAC), but is otherwise similar (at this time) to a
|
||
WifiNetDevice. WAVE capabililties of switching between control and
|
||
service channels, or using multiple radios, are not yet modelled.
|
||
|
||
- A new IPv6 over Low power Wireless Personal Area Networks (6LoWPAN) model
|
||
is available. Using ns-3's naming convention, the acronym is expanded
|
||
to SixLowPanNetDevice. The SixLowPanNetDevice is able to act as a
|
||
shim between IPv6 and a NetDevice, compressing IPv6 headers according
|
||
to RFCs 4944 and 6262. The SixLowPanNetDevice is meant to be used over
|
||
IEEE 802.15.4 NetDevices, but it can be used on other NetDevices as
|
||
well (see the manual for full details). This model precedes the
|
||
general availability of an 802.15.4 model, so must be run in conjunction
|
||
with a wired NetDevice model for now, or with experimental versions of
|
||
802.15.4 models.
|
||
|
||
- It is now possible to use Ipv6PacketInfoTag from UDP applications in the
|
||
same way as with Ipv4PacketInfoTag. See Doxygen for current limitations in
|
||
using Ipv[4,6]PacketInfoTag to set IP properties.
|
||
|
||
- Ipv[4,6]Interfaces not respecting the minimum MTU requirements (68 octects
|
||
for IPv4 and 1280 octects for IPv6) will be automatically set as Down.
|
||
|
||
- IPv6 addresses and routing tables are printed in a more conventional way,
|
||
closely matching the Linux "route -A inet6" command.
|
||
|
||
- Additional time units (Year, Day, Hour, Minute) were added to the time
|
||
value class that represents simulation time; the largest unit prior to
|
||
this addition was Second.
|
||
|
||
- A new parallel scheduling algorithm based on null messages, a common
|
||
parallel DES scheduling algorithm, has been added. The null message
|
||
scheduler has better scaling properties when running on some scenarios
|
||
with large numbers of nodes since it does not require a global
|
||
communication.
|
||
|
||
Bugs fixed
|
||
----------
|
||
- Bug 1496 - Option to print log level in NS_LOG messages, and documentation.
|
||
- Bug 1592 - Parsing bug in FlowMonitor example script
|
||
- Bug 1756 - RLC AM Mode State Variable Bug
|
||
- Bug 1763 - Message 3 should be sent using the UL GRANT in the RAR
|
||
- Bug 1778 - Implement TapBridge::IsLinkUp() function
|
||
- Bug 1777 - Implement the more direct way of "using" configuration of existing tap interface
|
||
- Bug 1776 - Improve CRC performance for CsmaNetDevice in emulation modes
|
||
- Bug 1788 - unused private field warning
|
||
- Bug 1789 - missing test condition for sigma in buildings-shadowing-test
|
||
- Bug 1796 - Ipv6PacketInfoTag is not filled by UdpSocketImpl::ForwardUp6
|
||
- Bug 1798 - Changing the rate of onOffApplication might stop transmission
|
||
- Bug 1802 - FlowMon header deserialization problem with IPv4 fragments
|
||
- Bug 1803 - Lookup /NodeList/4/DeviceList/0/LteEnbRrc/UeMap/0 got no matches
|
||
- Bug 1807 - Multiple bugs in Ipv4L3Protocol::LocalDeliver
|
||
- Bug 1810 - IP packets can be sent on NetDevices not respecting the minimum MTU requirements
|
||
- Bug 1814 - IPv6 Packet with length not multiple of 8 bytes are fragmented incorrectly.
|
||
- Bug 1815 - Python bindings compilation with clang compiler toolchain
|
||
- Bug 1816 - IPv4 fragmentation loses Packet tags
|
||
- Bug 1877 - constructor missing for <something>PropagationLossModels
|
||
|
||
Release 3.18.2
|
||
==============
|
||
|
||
ns-allinone-3.18.2 was released to include a bake configuration file update
|
||
for Direct Code Execution. The ns-3 code in this release was unchanged
|
||
from that of ns-3.18.1.
|
||
|
||
Release 3.18.1
|
||
==============
|
||
|
||
This release is mainly to provide updated compiler support (clang/LLVM)
|
||
and fix the Python API scanning facility. A few additional bug fixes
|
||
and new features are described below.
|
||
|
||
Availability
|
||
------------
|
||
This release is available from:
|
||
http://www.nsnam.org/release/ns-allinone-3.18.1.tar.bz2
|
||
|
||
Supported platforms
|
||
-------------------
|
||
These platforms have been tested; others may work also:
|
||
- Fedora Core 19 (32/64 bit) with g++-4.8.1
|
||
- Ubuntu 13.10 (64 bit) with g++-4.8.1
|
||
- Ubuntu 12.04.3 (32/64 bit) with g++-4.6.3
|
||
- Ubuntu 10.04.4 LTS (64 bit) with g++-4.4.3
|
||
- OS X Mavericks 10.9 with Xcode 5.0.1 and clang-500.2.79
|
||
- OS X Mountain Lion 10.8.5 with Xcode 5 and g++-4.2.1
|
||
- FreeBSD 9.2-RELEASE (64 bit) with clang-3.3
|
||
|
||
New user-visible features
|
||
-------------------------
|
||
- It is now possible to randomize the time of the first beacon from an
|
||
access point. Use an attribute "EnableBeaconJitter" to enable/disable
|
||
this feature.
|
||
- A new FixedRoomPositionAllocator helper class is available; it
|
||
allows one to generate a random position uniformly distributed in the
|
||
volume of a chosen room inside a chosen building.
|
||
- Logging wildcards: allow "***" as synonym for "*=**" to turn on all logging.
|
||
- The log component list ("NS_LOG=print-list") is now printed alphabetically.
|
||
|
||
Bugs fixed
|
||
----------
|
||
- Bug 1779 - NS_UNUSED_GLOBAL not working in attribute test class declaration
|
||
- Bug 1766 - Fixes to wifi-hidden-terminal.cc example
|
||
- Bug 1722 - Avoid transmitting beacons concurrently
|
||
- Bug 1691 - RTS/CTS NAV reset prematurely
|
||
- Bug 1622 - Avoid waf hanging during apiscan
|
||
- Bug 1616 - WifiPhyStateHelper reports false CCA_BUSY times at State trace source
|
||
- Bug 1552 - Storing log name inside LogComponent class (NS_LOG) as std::string
|
||
- Bug 1011 - assert failed. file=../src/devices/wifi/dcf-manager.cc
|
||
- bug 945 - remove deprecated IEEE 802.11p code from wifi module
|
||
- Fix aliasing bug in optimized static builds
|
||
- Fix memory leak due to circular reference in MPI module
|
||
- Make wifi tests more robust to random variable perturbations
|
||
- Fix Time class doxygen
|
||
- Fix compilation with Clang 3.2 and newer versions, including Apple Xcode 5
|
||
- Miscellaneous NetAnim fixes
|
||
|
||
Release 3.18
|
||
=============
|
||
|
||
Availability
|
||
------------
|
||
This release is available from:
|
||
http://www.nsnam.org/release/ns-allinone-3.18.tar.bz2
|
||
|
||
Supported platforms
|
||
-------------------
|
||
These platforms have been tested; others may work also:
|
||
- Fedora Core 18 (32/64 bit) with g++-4.7.2
|
||
- Fedora Core 17 (32/64 bit) with g++-4.7.0
|
||
- Ubuntu 13.04 (32/64 bit) with g++-4.7.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.8.3 with g++-4.2.1
|
||
- FreeBSD 9.1-RELEASE (64 bit) with g++-4.2.1
|
||
|
||
New user-visible features
|
||
-------------------------
|
||
- Time attributes can now be bounded. See attribute-test-suite.cc for an
|
||
example.
|
||
- Data collection components have been added to the stats module. These
|
||
components can be used to generate time series data in files and plots.
|
||
- IPv6 address class 2001:db8::/32 is now dropped by routers (RFC 3849).
|
||
- New generic hash function interface. Two hash functions are provided:
|
||
murmur3 (default), and the venerable FNV1a. See the Hash Functions
|
||
section in the Manual.
|
||
- New Mac16Address has been added, Mac64Address is now in-line with
|
||
Mac48Address and all the three can be used in IPv6 autoconfigure.
|
||
- Previously, the use of Building models was limited to the use of the
|
||
companion BuildingsMobilityModel. Now, any MobilityModel can be
|
||
used with Building models.
|
||
- The latest LTE module code by the LENA project has been merged,
|
||
including the following new features:
|
||
- PHY support for UE measurements (RSRP and RSRQ)
|
||
- RRC support for UE measurements (configuration, execution, reporting)
|
||
- Automatic Handover trigger based on RRC UE measurement reports
|
||
- IPv6 can now detect and use Path-MTU. See
|
||
examples/ipv6/fragmentation-ipv6-two-MTU.cc for an example.
|
||
- Radvd application have a new Helper. See the updated
|
||
examples/ipv6/radvd.cc for an example.
|
||
- 11n- It is now possible to create a high throughput (HT) node that used the new 11n data rates and preambles.
|
||
- It is now possible to request printing command line arguments to the
|
||
desired output stream using PrintHelp or operator <<
|
||
|
||
Bugs fixed
|
||
----------
|
||
- Bug 760 - IP address removal can be painful
|
||
- Bug 1190 - Suppress hello if bcast was sent within the last hello interval
|
||
- Bug 1296 - Enhancement in Ipv[4,6]RoutingHelper
|
||
- Bug 1390 - ICMPv6 Redirect are handled correctly only for /64 networks
|
||
- Bug 1522 - Hidden node scenario leads to ARP failure
|
||
- Bug 1584 - Old Association Request Timeouts are not canceled
|
||
- Bug 1629 - Make AODV Default to Disable Hello
|
||
- Bug 1643 - NdiscCache creation and existence checks
|
||
- Bug 1646 - ICMPv6 Redirect are sent from global address instead of link-local
|
||
- Bug 1662 - m_type not set for Ipv6OptionRouterAlertHeader
|
||
- Bug 1678 - C++11 compliance problem with std::pair"
|
||
- Bug 1682 - ./waf crashes on FC10
|
||
- Bug 1683 - IPv6 autoconfigured don't use *infinite* lifetimes
|
||
- Bug 1669 - ns-3 should support binding two and three (possibly more) arguments
|
||
- Bug 1675 - Throughput computation error in Wireless examples
|
||
- Bug 1687 - wscript features report doesn't respect NOCOLOR
|
||
- Bug 1688 - Routers should advertise themselves from the link-local address
|
||
- Bug 1689 - IPv6 shouldn't add a default gateway without checking the Router lifetime
|
||
- Bug 1690 - missing header files from wifi wscript
|
||
- Bug 1697 - ICMPv6 Redirect trigger contains multiple bugs
|
||
- Bug 1698 - mobility.SetPositionAllocator misses prefix "ns3::"
|
||
- Bug 1700 - Ipv6RawSocket does not honor the bound address when sending packets
|
||
- Bug 1701 - Ipv6StaticRouting: the source address should match the destination scope
|
||
- Bug 1702 - Ipv6InterfaceContainer::SetRouter should not always add the router as the default router.
|
||
- Bug 1703 - Nodes don't react to a DAD
|
||
- Bug 1712 - The IP (v4 and v6) forwarding needs a test
|
||
- Bug 1718 - Ipv4StaticRouting log component is misspelled
|
||
- Bug 1720 - IPv6 Fragmentation cause crashes
|
||
- Bug 1721 - Path MTU isn't handled properly
|
||
- Bug 1723 - name clash in ipv4-header.h with <termios.h>
|
||
- Bug 1727 - Ping6 should use a proper source address
|
||
- Bug 1728 - Radvd application is missing an Helper
|
||
- Bug 1731 - lte-phy-error-model passes unexpectedly
|
||
- Bug 1738 - strict aliasing compiler bug
|
||
- Bug 1742 - IPv6 HbH and Dst Extension Header size is not correctly calculated
|
||
- Bug 1752 - RadvdInterface m_defaultLifeTime is set to milliseconds instead of seconds
|
||
- Bug 1753 - Halting Issue with DistributedSimulatorImpl
|
||
- Bug 1754 - Missing GIL lock in generated callback destructor
|
||
|
||
Known issues
|
||
------------
|
||
In general, known issues are tracked on the project tracker available
|
||
at http://www.nsnam.org/bugzilla/
|
||
|
||
Release 3.17
|
||
============
|
||
|
||
Availability
|
||
------------
|
||
This release is available from:
|
||
http://www.nsnam.org/release/ns-allinone-3.17.tar.bz2
|
||
|
||
Supported platforms
|
||
-------------------
|
||
These platforms have been tested; others may work also:
|
||
- Fedora Core 18 (32/64 bit) with g++-4.7.2
|
||
- Fedora Core 17 (32/64 bit) with g++-4.7.0
|
||
- Ubuntu 13.04 (32/64 bit) with g++-4.7.3
|
||
- Ubuntu 12.10 (32/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.8.3 with g++-4.2.1
|
||
- FreeBSD 9.1-RELEASE (64 bit) with g++-4.2.1
|
||
|
||
New user-visible features
|
||
-------------------------
|
||
- new TCP Westwood and Westwood+ models
|
||
- new FdNetDevice model and associated helpers. The FdNetDevice is able
|
||
to read and write from a file descriptor. Various helpers are provided
|
||
to associate this descriptor with underlying devices or sockets on the
|
||
host operating system, including a packet socket for emulation, and
|
||
tap devices including a version specialized for use on PlanetLab.
|
||
- ns-3-click: it's now possible to (i) have Click pull random numbers from
|
||
ns-3 and (ii) have ns-3 set "defines" in Click via the simulation file
|
||
(see src/click/examples/nsclick-defines.cc).
|
||
- Waf shipped with ns-3 has been upgraded to version 1.7.10 and custom
|
||
pkg-config generator has been replaced by Waf's builtin tool.
|
||
- create-module.py script has been updated to work with waf 1.7 and support
|
||
for creating modules with names containing dashes has been added.
|
||
- the M5 release of the LTE module by the LENA project has been
|
||
merged; please see src/lte/RELEASE_NOTES for more detailed info
|
||
|
||
Bugs fixed
|
||
----------
|
||
- bug 1256 - Unnecessary SND.NXT advance, missing ACK for Out of Order segments
|
||
- bug 1318 - Ipv6L3Protocol::LocalDeliver can get stuck in an infinte loop
|
||
- bug 1409 - Add an attribute "SystemId" to configure the ID for MPI
|
||
- bug 1421 - Frequency dependent propagation loss models need uniform Frequency / Lambda attribute
|
||
- bug 1434 - DSR throughput not comparable to other protocols for manet example
|
||
- bug 1502 - Shutdown on tcp socket seems to misbehave
|
||
- bug 1503 - BlockAckManager infine loop
|
||
- bug 1517 - Waf clean/distclean doesn't remove the doc/html directory
|
||
- bug 1540 - Waf not finding click libraries
|
||
- bug 1549 - Test for NS_LOG
|
||
- bug 1556 - Uses of htonl making OpenFlow's match field error
|
||
- bug 1563 - Reduce valgrind test scope
|
||
- bug 1564 - Packet meta data isn't shown in dumbbell-animation.xml
|
||
- bug 1566 - WiFi SNR tag improvements
|
||
- bug 1568 - Deserialized addresses are implicity marked as Mac48Address
|
||
- bug 1569 - droptail_vs_red example doesn't run
|
||
- bug 1570 - Valgrind errors in new test examples
|
||
- bug 1574 - Node color overwritten, by mobility updates in netanim
|
||
- bug 1575 - Invert the y-axis in netanim
|
||
- bug 1576 - Frequency units HERTZ and MEGAHERTZ mix up
|
||
- bug 1577 - Typo in ascii picture in example aodv script
|
||
- bug 1579 - edca-txop-n fragmentation causes segfault
|
||
- bug 1582 - IPv6 raw socket return value is not like Linux socket
|
||
- bug 1585 - Length field of A-MSDU subframe header endianness
|
||
- bug 1586 - Building documentation fails if make runs in parallel
|
||
- bug 1588 - UdpEchoServer::HandleRead logs fail when using Ipv6
|
||
- bug 1589 - Bake - support pre-2.7 version of python
|
||
- bug 1590 - Bake - more autotools version support
|
||
- bug 1595 - Function declarations without implementations cause problems with dsr module's python bindings
|
||
- bug 1596 - Inet TopologyReader is skipping one link and duplicating another one
|
||
- bug 1600 - Icmpv6OptionLinkLayerAddress can only carry 48 bit addresses correctly
|
||
- bug 1601 - RttEstimator doesn't set the m_currentEstimatedRtt to m_initialEstimatedRtt on creation
|
||
- bug 1602 - waf build can break due to file collisions in higher-level directory
|
||
- bug 1603 - random-variable-stream-helper - this unavalable for static member functions
|
||
- bug 1607 - OnOffApplication over TCP with IPv6 support
|
||
- bug 1608 - DSR Network ACK is not handled correctly
|
||
- bug 1609 - Route Request table is needed
|
||
- bug 1612 - pyviz (visualizer) will not be installed
|
||
- bug 1613 - Can't build ns-3-dev with g++ 4.7.2
|
||
- bug 1615 - Adjusting OLSR HelloInterval Attribute results in no links
|
||
- bug 1618 - bake.py not detecting install of libxml2-dev on ubuntu
|
||
- bug 1623 - pybindgen rev809 is not able to build after Ubuntu 1210
|
||
- bug 1625 - ns-3-dev fails to build on Debian wheezy amd64
|
||
- bug 1626 - ipv6-only network can't use UDP or TCP
|
||
- bug 1632 - Prepend bake build directory to the guessed locations
|
||
that waf will look to find libraries
|
||
- bug 1633 - Bake - should not report that it is downloading qt4 when it is already installed
|
||
- bug 1635 - Small bug without Simulator::Destroy()
|
||
- bug 1636 - Compilation error flagged as unmet dependency
|
||
- bug 1637 - Bake calling apt-get for unpriviledged user
|
||
- bug 1639 - bake.py support for linux mint
|
||
- bug 1640 - bake needs to test for g++
|
||
- bug 1641 - bake reports autotools dependency, but needs automake
|
||
- bug 1661 - Variable ub1 defined but not used in ipv6-address.cc
|
||
|
||
Known issues
|
||
------------
|
||
In general, known issues are tracked on the project tracker available
|
||
at http://www.nsnam.org/bugzilla/
|
||
|
||
Release 3.16
|
||
============
|
||
|
||
Availability
|
||
------------
|
||
This release is available from:
|
||
http://www.nsnam.org/release/ns-allinone-3.16.tar.bz2
|
||
|
||
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.10 (32/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.8.3 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
|
||
-------------------------
|
||
- Support several new LTE MAC schedulers developed in GSoC 2012 project.
|
||
Those schedulers include FD-MT, TD-MT, TTA, FD-BET, TD-BET, FD-TBFQ,
|
||
TD-TBFQ, PSS. Here, FD and TD mean frequency domain and time domain
|
||
respectively.
|
||
- It's now possible to use distcc when building ns-3 by using
|
||
$ CXX='distcc g++' ./waf configure
|
||
$ ./waf build
|
||
- Support topology generation with the (external) BRITE topology generation
|
||
tool
|
||
|
||
Bugs fixed
|
||
----------
|
||
- bug 555 - DCF immediate access
|
||
- bug 976 - wifi-wired-bridging regression test fails because of
|
||
rounding errors in mobility model
|
||
- bug 1055: Wrong UAN's Thorp absorption loss model formula
|
||
- bug 1284 - ./test.py performance tests do not exist
|
||
- bug 1324 - ns3tcp-cwnd-test-suite.cc test failing
|
||
- bug 1340 - ns3tcp-loss-suite.cc tests failing
|
||
- bug 1342 - ns3tcp-cwnd-test-suite.cc tests failing
|
||
- bug 1345 - ns-3 builds with clang compiler >= 3.0
|
||
- bug 1359 - TCP cannot receive ICMP
|
||
- bug 1361 - Set TOS from Application level (sockets)
|
||
- bug 1463 - ./test.py --example should automatically detect the path
|
||
- bug 1479 - When the Ipv4RawSocket "IpHeaderInclude" Attribute set true,
|
||
Ip Checksum error
|
||
- bug 1485 - Setting global properties in config file (raw text) does
|
||
not have any effect
|
||
- bug 1493 - test.py --list should show the test type default tip
|
||
- bug 1493 - test.py --list should show the test type
|
||
- bug 1494 - test.py --constrain doesn't work
|
||
- bug 1495 - test.py claims test passed when no test was run
|
||
- bug 1506: TCP data segment piggybacking acknowledgment
|
||
- bug 1509 - RttEstimator returns invalid value in presence of errors
|
||
- bug 1516 - GtkConfigStore does not show read-only attributes
|
||
- bug 1520 - Config paths not fully documented (partial fix)
|
||
- bug 1524 - Fragmentation Threshold equals to Packet Size at MAC Layer
|
||
(Data + IP + UDP) crash the reception
|
||
- bug 1525 - Linker error with mpi on Mac 10.8
|
||
- bug 1526: Wrong calculation of pathloss within
|
||
UanPropModelThorp::GetPathLossDb
|
||
- bug 1527 - Ipv4RawSocket's BindToNetDevice not working
|
||
- bug 1528 - BindToNetDevice not working for IPv6 sockets
|
||
- bug 1531 - Crash when using NS_LOG in destructors of static objects
|
||
- bug 1532 - unimplemented LTE Scheduler methods
|
||
|
||
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 available from:
|
||
http://www.nsnam.org/release/ns-allinone-3.15.tar.bz2
|
||
|
||
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/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/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/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/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/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/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/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/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/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)
|