1 2 ns-3 RELEASE NOTES 3 4This file contains ns-3 release notes (most recent releases first). 5 6All of the ns-3 documentation is accessible from the ns-3 website: 7http://www.nsnam.org including tutorials: http://www.nsnam.org/tutorials.html 8 9Consult the file CHANGES.html for more detailed information about changed 10API and behavior across ns-3 releases. 11 12Release 3.35 13============ 14 15Availability 16------------ 17This release is available from: 18https://www.nsnam.org/release/ns-allinone-3.35.tar.bz2 19 20Supported platforms 21------------------- 22This release is intended to work on systems with the following minimal 23requirements (Note: not all ns-3 features are available on all systems): 24- g++-7 or later, or LLVM/clang++-8 or later 25- Python 3.6 or later 26- (macOS only) Xcode 11 or later 27 28Python API scanning only works for Python versions 3.6 through 3.8, due to 29an upstream toolchain limitation. 30 31This release has been tested on the following systems: 32- Fedora 34 with g++-11.2.1 and clang++-12.0.1; Python 3.9.7 33- Fedora 33 with g++-10.3.1 and clang++-11.0.0; Python 3.9.6 34- Ubuntu 21.04 with g++-11.1.and clang++-12.0.0; Python 3.9.5 35- Ubuntu 20.04 with g++-9.3.0 and clang++-10.0.0; Python 3.8.10 36- Ubuntu 18.04 with g++-7.5.0 and clang++-6.0.0; Python 3.6.9 37- macOS 10.15.7 (Catalina) with Xcode 12.4 (Apple clang-1200.0.32.29, Python 3.9.1) 38 39This release has discontinued support for g++-5 and g++-6 compilers, and 40for macOS Xcode 10. 41 42New user-visible features 43------------------------- 44ns-3 has switched to the C++17 standard by default, although the more 45advanced constructs (beyond C++11) are generally avoided in the header files, 46to stay compatible with the Python API scanning framework. 47 48- (antenna) Extend UniformPlanarArray to have a configurable polarization slant angle 49- (buildings) Add example program demonstrating group mobility with the buildings-aware random walk mobility model, and a script to animate the group motion. 50- (config-store) OBSOLETE Attributes are not anymore saved. 51- (config-store) New ConfigStore::SaveDeprecated Attribute (default false) to avoid to save DEPRECATED attributes. 52- (core) Add TracedCallback::IsEmpty to know if a TracedCallback has any callback associated. 53- (core) Add std::hash<ns3::Ptr<T>> to allow seamless use of Ptr as key in unordered_maps. 54- (core) Print available values on EnumChecker::GetValue () error 55- (internet) Added getters and setters for source and destination in Ipv6Header consistent with Ipv4Header naming. 56- (internet) New functions SetAddress () and GetAddress () are added, corresponding to SetLocal () and GetLocal () respectively in Ipv4InterfaceAddress to keep consistency with Ipv6InterfaceAddress. 57- (nix-vector-routing) Support for IPv6 Nix-Vector routing. Existing nix-simple and nms-p2p-nix examples are available in IPv6 as well. 58- (nix-vector-routing) ipv4-nix-vector-helper.h has been deprecated in favour of nix-vector-helper.h. 59- (nix-vector-routing) ipv4-nix-vector-routing.h has been deprecated in favour of nix-vector-routing.h. 60- (internet) Added new function IsInSameSubnet () in Ipv4InterfaceAddress similar to Ipv6InterfaceAddress::IsInSameSubnet (). It checks if the two Ipv4Address are in the same subnet. 61- (nix-vector-routing) Nix-Vector routing supports topologies with multiple WiFi networks using the same WiFi channel object. 62- (mobility) Add GroupMobilityHelper and demonstrate its use with a new program that configures the Reference Point Group Mobility model for a number of nodes. 63- (wifi) Add support for 11ax MU EDCA Parameter Set. 64- (wifi) MPDUs discarded because they became "old" (from the Block Ack agreement point of view) are now traced using the DroppedMpdu trace source of RegularWifiMac and with the WIFI_MAC_DROP_QOS_OLD_PACKET reason. 65 66Bugs fixed 67---------- 68- (applications) #449, #453 - add correct receiving address to PacketSink traces for UDP. 69- (config-store) #443 - do not save obsolete attributes 70- (energy) #423 - SimpleDeviceEnergyModel calculation of consumed energy 71- (fd-net-device) #441 - Fix double dequeue on device stop 72- (internet) - Ipv4L3Protocol duplicate detection now accounts for sent packets, not just forwards. 73- (lte) !703 - Fix global-buffer-overflow when nprb is equal to zero 74- (mobility) - Initialize HierarchicalMobilityModel and avoid course change stream corruption 75- (nix-vector-routing) #450 - Avoid recalculation if path doesn't exist 76- (tcp) #407 - Align TcpCubic::GetSsThresh() with Linux 77- (tcp) #410 - Fix TcpWestwood bandwidth estimation bug 78- (traffic-control) #258 - Avoid overflow, divide-by-zero in TbfQueueDisc 79- (traffic-control) !706 - Fix FqPIE qdisc not using attributes 80- (wifi) - Always track interference when not locking on PPDU 81 82Release 3.34 83============= 84 85Availability 86------------ 87This release is available from: 88https://www.nsnam.org/release/ns-allinone-3.34.tar.bz2 89 90Supported platforms 91------------------- 92This release is intended to work on systems with the following minimal 93requirements (Note: not all ns-3 features are available on all systems): 94- g++-7 or later, or LLVM/clang++-8 or later 95- Python 3.6 or later 96- (macOS only) Xcode 10.1 or later 97 98This release has been tested on the following systems: 99- Fedora 33 with g++-10.2.1 and clang++-11.0.0; Python 3.9.2 100- Ubuntu 21.04 with g++-11.1.0 and clang++-12.0.0; Python 3.9.5 101- Ubuntu 20.04 with g++-9.3.0 and Python 3.8.5 102- Ubuntu 18.04 with g++-7.5.0 and Python 3.6.9 103- macOS 10.15.7 (Catalina) with Xcode 12.4 (Apple clang-1200.0.32.29, Python 3.9.1) 104- macOS 10.13.6 (High Sierra) with Xcode 10.1 (Apple clang-1000.11.45.5, Python 3.7.1) 105 106New user-visible features 107------------------------- 108- (antenna) Added PhasedArrayModel, providing a flexible interface for modeling a number of Phase Antenna Array (PAA) models 109- (antenna) Replaced the ThreeGppAntennaArrayModel with a UniformPlanarArray model, extending the new PhaseAdrrayModel 110- (antenna) Improved the Angles class to be more robust and user-friendly. 111- (antenna) AntennaModel child classes have been extended to produce 3D radiation patterns 112- (internet) Support for IPv6 stateless address auto-configuration (SLAAC). 113- (network) Improved support for bit fields in header serialization/deserialization. 114- (network) Added support for DLT_LORATAP DataLinkType to PCAP files 115- (network) More arithmetic operators are provided for DataRate objects 116- (nix-vector) Nix-Vector routing supports multiple interface addresse and can print out routing paths. 117- (olsr) Add support for printing OLSR headers 118- (sixlowpan) Added support for stateful (i.e., context-based) RFC6282 compression. 119- (tcp) TCP CUBIC is now the default TCP congestion control, replacing NewReno. 120- (tcp) A BBRv1 congestion control model has been added. 121- (traffic-control) Added FqCobalt queue disc with L4S features and set associative hash. 122- (traffic-control) Added FqPIE queue disc with L4S mode. 123- (wifi) Add support for 802.11ax DL and UL OFDMA, and a round-robin multi-user scheduler 124- (wifi) Added 802.11ax support to MinstrelHt rate control algorithm. 125- (wifi) The PHY layer has been refactored: the amendment-specific logic has been ported to PhyEntity classes and WifiPpdu classes 126- (wifi) The MAC layer has been refactored. The MacLow class has been replaced by a hierarchy of FrameExchangeManager classes, each adding support for the frame exchange sequences introduced by a given amendment. 127- (wifi) Add ThompsonSamplingWifiManager rate control algorithm. 128- (wifi) Holland PHY configuration has been removed from the model 129- (wifi) HT Greenfield (HT_GF) preamble support has been removed from the model 130- (wifi) Added the ability to configure the primary 20 MHz channel for 802.11 devices operating on channels of width greater than 20 MHz 131- (wifi) Some wifi/src/model files were moved to the relevant subfolders (non-ht, ht, vht, he, and rate-control) 132- (wifi) Stations perform TXOP recovery if the transmission of a non-initial MPDU in a TXOP fails 133- (wifi) Stations keep track of the TXOP holder and ignore the NAV when they receive an RTS frame from the TXOP holder 134- (wifi) The TxOkHeader and TxErrHeader trace sources of RegularWifiMac have been obsoleted and replaced by trace sources that better capture the result of a transmission (AckedMpdu, NAckedMpdu, DroppedMpdu, MpduResponseTimeout and PsduResponseTimeout) 135- (wifi) Bianchi example program extended to support 802.11n/ac/ax rates 136- (wifi) ErrorRateModel API extended to support link-to-system models 137 138Bugs fixed 139---------- 140- (antenna) Fix random angle generation for the 3gpp channel model. 141- (build) #52 - Fix and standardize Boost detection 142- (build) #352 - Handle multiple attempts to configure C++ standard 143- (core) #349 - Warn about Config::SetDefault() of deprecated attribute 144- (internet) #385 - IPv6 NA are now sent directly by the NetDevice 145- (lr-wpan) #382 - Fix Tx power calculation from PIB attribute 146- (lte) #285 - Check the RandomAccess status of an RNTI to whom the preamble was assigned 147- (lte) #322 - Add Channel pointer value type attribute to REM helper 148- (lte) #354 - Use uint16_t for srsIndex instead of uint8_t 149- (lte) #395 - Add transmission buffer size for RLC Acknowledged Mode 150- (lte) !555 - Remove assert upon RAR timeout in RLF example and.. 151- (lte) !605 - Make sure RNTI exists before removing UE context 152- (lte) - Set UeRrcSapProvider only if RNTI exists at the eNB 153- (nix-vector) #393 - Avoid changing routing-dependent members 154- (sixlowpan) #358 - Use correct fragment size when using mesh routing. 155- (tcp) #374 - Assume TCP RTT is one microseconds if it measures as zero 156- (uan) #129 - EndTx moved to PhyListener 157- (uan) #293 - Fixed integer truncation in window computation 158- (wave) Fix compilation and runtime issues with vanet-routing-compare.cc 159- (wifi) #418 - Fix HE A-MPDU Max Size Upper Bound 160- (wifi) - Compare received power per MHz to normalized RX sensitivity 161 162Release 3.33 163============ 164 165Availability 166------------ 167This release is available from: 168https://www.nsnam.org/release/ns-allinone-3.33.tar.bz2 169 170Supported platforms 171------------------- 172This release is intended to work on systems with the following minimal 173requirements (Note: not all ns-3 features are available on all systems): 174- g++-5.4 or later, or clang++-8 or later 175- Python 3.5 or later 176- (macOS only) Xcode 10.1 or later 177 178This release has been tested on the following systems: 179- Arch Linux with g++-10.2.0 and clang++ versions 8-11, Python 3.9.1 180- Fedora 33 with g++-10.2.1 and clang++-11.0.0; Python 3.9.1 181- Ubuntu 20.04 with g++-9.3.0 and Python 3.8.5 182- Ubuntu 18.04 with g++-7.5.0 and Python 3.6.9 183- Ubuntu 16.04.6 with g++-5.4.0 and Python 3.5.2 184- Linux Mint 20 Ulyana with g++-9.3.0 and Python 3.8.5 185- macOS 11.1 (Big Sur) with Xcode 12.3 (Apple clang-1200.0.32.28), Python 3.8.2 (system) and Python 3.9.1 (Homebrew) 186- macOS 10.15.7 (Catalina) with Xcode 12 (Apple clang-1200.0.31.1, Python 3.9.1) 187- macOS 10.13.6 (High Sierra) with Xcode 10.1 (Apple clang-1000.11.45.5, Python 3.7.1) 188 189New user-visible features 190------------------------- 191- (core) A new Length class has been added to represent lengths with an explicit unit, rather than the use of raw numbers (ints, doubles) with implicit length. 192- (core) A flexible CsvReader class has been introduced to allow users to read in csv- or tab-delimited data. 193- (lr-wpan) Added support for handling differences between RFC4944- and RFC6282-style IPv6 address expansion 194- (mobility) The ListPositionAllocator can now input positions from a csv file. 195- (mpi) A new Enable call was added that takes a user supplied MPI_Communicator, which enables (optional) partitioning of the MPI processes. See !389. 196- (propagation) A channel condition model for vehicular scenarios was added. See !435 197- (tcp) A model for TCP CUBIC congestion control has been added. 198- (tcp) TCP handling of ECN has been improved with the addition of a Congestion Window Reduced state 199- (tcp) TCP DCTCP includes a trace source for tracing the alpha value 200- (wifi) A new table-based error model based on link simulations has been 201 added (TableBasedErrorRateModel) and made the default for 802.11n/ac/ax simulations. 202- (wifi) Add error table support for LDPC FEC encoding (BCC or LDPC may now be selected) 203- (wifi) Add PHY layer support for High Efficiency Multi Users [HE-MU] access, including High Efficiency Resource Units (HE RU) and PCAP support 204- (wifi) Add option to configure the OFDM transmit spectrum mask 205 206Bugs fixed 207---------- 208- (applications) #444 - Report Tx bytes from UdpClient 209- (core) #265 - Time is not rounded when created from an int64x64_t 210- (core) #277 - Make Time::As() print with autoscaled unit 211- (core) #302 - Time is not rounded when created from an int64x64_t 212- (internet) #272 - Add missing data to Ipv[4,6]PacketInfoTag 213- (internet) !440 - Loopback IPv4 address should have HOST scope 214- (lte) #273 - When removing LC, remove also its BSR 215- (lr-wpan) #314 - Multicast/broadcast must not generate ACKs 216- (mobility) #276 - Make EnableAsciiAll connect in a failsafe way 217- (tcp) TcpCongestionOps objects can now be accessed by config paths 218- (tcp) #783 - Update previousLost and priorInFlight on reception of ACK 219- (wifi) #284 - Fix memory consumption issue for saturated devices 220- (wifi) Fix Minstrel HT statistics update window duration 221- (wifi) Fix incorrect calculations for 1024-QAM when using NistErrorRateModel 222- (wifi) Fix maximum channel number that can be selected for the PHY 223- (wifi) Set BER threshold for Ideal rate manager to 1e-6 to avoid high PER for high MCS values 224- (wifi) Reduce precision to fix infinite loop when Ideal rate manager as used with Yans error rate model 225- (wifi) Report reception of BAR to WifiRemoteStationManager 226- (wifi) TXOP durations were not always being traced 227 228Release 3.32 229============ 230 231Availability 232------------ 233This release is available from: 234https://www.nsnam.org/release/ns-allinone-3.32.tar.bz2 235 236Supported platforms 237------------------- 238This release is intended to work on systems with the following minimal 239requirements (Note: not all ns-3 features available on all systems): 240- g++-4.9 or later 241- Xcode 10.1 or later 242- Python 3.5 or later 243 244Starting with ns-3.30, Python 3 has been the only supported Python version, 245and scripts default to Python 3 usage. 246 247This release has been tested on the following systems: 248- Fedora 32 with g++-10.2.1 and Python 3.8.5 249- Fedora 32 with clang-10.0.0 and Python 3.8.5 250- Ubuntu 20.04 with g++-9.3.0 and Python 3.8.2 251- Ubuntu 18.04 with g++-7.5.0 and Python 3.6.9 252- Ubuntu 16.04.6 with g++-5.4.0 and Python 3.5.2 253- macOS 10.15.7 (Catalina) with Xcode 12 254- macOS 10.13.6 (High Sierra) with Xcode 10.1 255 256New user-visible features 257------------------------- 258- (build system) Added "--enable-asserts" and "--enable-logs" to waf configure, 259 to selectively enable asserts and/or logs in release and optimized builds. 260- (build system) The "--enable-build-version" option has been added to waf 261 configure, allowing users to embed version information in the libraries 262- (build system) Added support for EditorConfig 263- (config-store) Improved the RawTextConfig output (see !93) 264- (core) Added capability to configure STL pair and containers as attributes 265- (core) The default timestamp print format for logging statements has been 266 changed to use the As() method that prepends +/- and appends the time unit 267- (fd-net-device) Added two enhanced emulation devices based on netmap and DPDK 268- (mobility) Add CartesianToGeographic coordinate conversion capability 269- (network) Packet tags are now serialized and deserialized for distributed 270 simulations 271- (network) Added LollipopCounter, a sequence number counter type 272- (olsr) Some internal OLSR API has been opened up to enable cross-layer access 273- (tcp) Support for dynamic pacing in TCP. 274- (tcp) Added TcpLinuxReno congestion control (aligns with Linux 'reno' 275- (tests) test.py text output now distinguishes between TestSuites and TestCases 276 congestion control). 277- (traffic-control) Added, to PIE queue disc, queue delay calculation using 278 timestamp feature (Linux default behavior), cap drop adjustment feature 279 (Section 5.5 of RFC 8033), ECN (Section 5.1 of RFC 8033) and derandomization 280 feature (Section 5.4 of RFC 8033). 281- (traffic-control) Add support for L4S mode to CoDel and FqCoDel queue discs 282- (traffic-control) Add Active/Inactive feature to PIE queue disc. 283- (traffic-control) Add ECN and L4S support for CoDel, FqCoDel, Cobalt queues 284- (wifi) Add 6 GHz band support for 802.11ax 285- (wifi) RIFS support has been removed from the model 286 287Bugs fixed 288---------- 289- (applications) Handle possible partial socket sends (during emulation) 290- (applications) Remove stray exit call from OnOffApplication 291- (internet-apps) Fixes DHCP behaviour when interface goes down and back up 292- (lte) #224 - The scheduled SendMeasurementReport() event doesn't cancel after link failure detection 293- (mesh) - Enable possible use with SpectrumWifiPhy 294- (network) #264 - Rounding is more accurate for DataRate transmission times 295- (network) !424 - Fixed instantaneous send behavior in SimpleNetDevice when queue is empty 296- (tcp) !368 - Fix assert in tx-buffer when loss rate high and w/o SACK 297- (tcp) !367 - Stop to merge items whose m_lost values are different 298- (tcp) - Fix TcpRateOps to update m_ackElapsed like Linux 299- (traffic-control) #225 - Do not ECN mark packet twice within a CoDel queue 300- (wifi) - Fix radiotap header for received 802.11ax PPDUs 301- (wifi) - Do not send VHT capabilities when operating in 2.4 GHz band 302- (wifi) #252 - Correctly handle multicast frames 303 304Release 3.31 305============ 306 307Availability 308------------ 309This release is available from: 310https://www.nsnam.org/release/ns-allinone-3.31.tar.bz2 311 312Supported platforms 313------------------- 314This release is intended to work on systems with the following minimal 315requirements (Note: not all ns-3 features available on all systems): 316- g++-4.9 or later 317- Xcode 10.1 or later 318- Python 3.5 or later 319 320Starting with ns-3.30, Python 3 has been the only supported Python version, 321and scripts default to Python 3 usage. 322 323This release has been tested on the following systems: 324- Fedora 32 with g++-10.1.1 and Python 3.8.3 325- Fedora 32 with clang-10.0.0 and Python 3.8.3 326- Fedora 29 with g++-8.3.1 and Python 3.7.5 327- Ubuntu 20.04 with g++-9.3.0 and Python 3.8.2 328- Ubuntu 18.04 with g++-7.5.0 and Python 3.6.9 329- Ubuntu 16.04.6 with g++-5.4.0 and Python 3.5.2 330- macOS 10.15.3 (Catalina) with Xcode 11.3 331- macOS 10.13.6 (High Sierra) with Xcode 10.1 332 333New user-visible features 334------------------------- 335- (antenna) Model for antenna arrays based on 3GPP model (part of Integration of the 3GPP TR 38.901 fast fading model) 336- (buildings) Random walk mobility model that does not allow nodes to enter buildings 337- (core) The CommandLine facility can now add the Usage message to the Doxygen for the program 338- (internet) TCP DCTCP model 339- (internet) An option to enable IPv4 hash-based multicast duplicate packet 340 detection (DPD) based on RFC 6621 341- (lte) Trace sources for uplink PSD and RBs 342- (propagation) 3GPP TR 38.901 pathloss and channel condition models 343- (spectrum) Matrix-based channel model base class to support antenna arrays 344- (spectrum) 3GPP pathloss, channel and fast fading models 345- (stats) A new interface to SQLite 346- (tests) Capability to run an example program as a regression test 347- (traffic-control) Support for the Cake set-associative hash to the FqCoDel queue disc 348- (traffic-control) Support for ECN marking to CoDel and FqCoDel queue discs 349- (wifi) A Bianchi (saturation) example with a comparable MATLAB model 350- (wifi) The idealized wifi rate control includes better support for different MIMO modes and channel widths 351 352Bugs fixed 353---------- 354If available, the numbers below make reference to a Bugzilla bug number, GitLab 355issue number (prefixed by '#'), or GitLab merge request number (prefixed by '!') 356- (build system) #119 - Waf --lcov-report option was broken 357- (buildings) #80 - Update indoor/outdoor status of a moving node 358- (core) Bug 2725 - EmpiricalRandomVariable should not interpolate 359- (documentation) Bug 2636 - Add to doxygen a list of all registered TypeIds 360- (internet) - Fix Ipv6Prefix length calc and add explicit prefix length constructors 361- (internet) - IPv6 Duplicate Address Detection (DAD) must use Solicited-Node multicast address 362- (internet) #111 - Rip and RipNg don't receive unicast packets 363- (internet:tcp) - call NotifyConnectionFailed on SYN timeout 364- (internet:tcp) #179 - Avoid incorrect exit of LAST-ACK state 365- (internet:tcp) #182 - Fix SACK list cleaning in TcpOptionSack::Deserialize() 366- (internet:tcp) !156 - Enable entering CA_RECOVERY despite large sequence number increase 367- (internet:tcp) !157 - Prevent sending outside receiver window 368- (lr-wpan) #212 - Rx callback must have both source mac and pan id 369- (lr-wpan) !283 - Beacon collisions and timings 370- (lr-wpan) !326 - Inactive Periods Queue fix 371- (lte) #106 - Inconsistent imsi representation in LTE module 372- (lte) #196 - Remove LteSecondaryCellSelectionTestSuite from LTE module 373- (lte) #221 - Stop T310 upon receving handover command 374- (network) #216 - Correct the return value for PacketSocket::SendTo() 375- (network) !239 - Refactor DelayJitterEstimation to more closely follow RFC 1889 and RFC 3550 376- (propagation) !269 - Fix Okumura-Hata propagation loss model for frequency > 1.5 Ghz and medium or small city 377- (wifi) - Keep the medium busy if reception is aborted ahead of scheduled time 378- (wifi) - Fix frame capture when signals arrive at the exact same time and add additional tests to verify these cases 379- (wifi) - Fix MCS selection in ideal rate manager for cases with unbalanced MIMO settings and/or RX diversity 380- (wifi) - Fix SNR computations for MIMO 381- (wifi) - Fix ReportAmpduTxStatus called two times when BAR is explicitely sent upon missed BACK 382- (wifi) A zero value for the backoff timer might be discarded and a new value 383 might be generated by an erroneous call to NotifyCollision(). 384- (wifi) Bug 1909, Issue #41 - Implementation of ACK timeout 385- (wifi) Bug 2385, Issue #178 - IdealWifiManager can pick invalid WifiTxVector under certain MIMO conditions 386- (wifi) Bug 2928 - BlockAckManager::NeedBarRetransmission returns "true" infinitely 387- (wifi) Bug 2985 - PhyTxEnd tracecallback not implemented 388- (wifi) Bug 3011, Issue #172 - MIMO error rate model is incorrect 389- (wifi) #22 - Station long retry counter is incremented twice if BlockAck was not received 390- (wifi) #40 - IdealWifiManager not working if stations are moving 391- (wifi) #84 - Wi-Fi removing wrong header due to copy-paste error 392- (wifi) #94 - Retransmitted frames not marked as retransmits 393- (wifi) #107 - Frame capture model works incorrectly if two signals arrive at the same time 394- (wifi) #110 - PCAP trace file gives unexpected results 395- (wifi) #116 - Incorrect state when receiving A-MPDU in WifiPhy 396- (wifi) #165 - Notify station manager when a BlockAck has not been received after the transmission of an A-MPDU 397- (wifi) #169 - Ideal rate manager does not work when non best-effort traffic is used 398- (wifi) #211 - Remove MSDUs with expired lifetime when (re)starting channel access 399 400Known issues 401------------ 402In general, known issues are tracked on the project tracker available 403at https://gitlab.com/nsnam/ns-3-dev/issues 404 405Release 3.30.1 406============== 407Release 3.30.1 is a maintenance release that fixes the following issues from 408the ns-3.30 release: 409 410- fix issue with Block Ack transmit window leading to low throughput or 411 connection dropping 412- fix invalid restriction on Wi-Fi VHT Capabilities MaxMpduLength field 413- support for Apple clang version 11.0.0 (macOS Catalina preview release) 414- fix the handling of ICMP time exceeded responses 415- fix syntax error in Wi-Fi-based Tap Bridge Python example 416 417Availability 418------------ 419This release is available from: 420https://www.nsnam.org/release/ns-allinone-3.30.1.tar.bz2 421 422Supported platforms 423------------------- 424The list of supported platforms includes those listed for ns-3.30 plus 425- macOS 10.15 preview (Catalina) with Apple clang version 11.0.0 426 427New user-visible features 428------------------------- 429Features are identical to release 3.30. 430 431Bugs fixed 432---------- 433- Issue #62 - ICMP does not handle ICMPv4 TIME_EXCEEDED responses 434- Issue #77 - Wi-Fi VHT capabilities MaxMpduLength had invalid restriction 435- Issue #79 - Wi-Fi connection drop or low throughput due to Block Ack transmit window 436- Example program tap-wifi-virtual-machine.py had a syntax error 437- Issue #80 - Indoor/outdoor status is not updated when the node moves 438 439Release 3.30 440============ 441 442Availability 443------------ 444This release is available from: 445https://www.nsnam.org/release/ns-allinone-3.30.tar.bz2 446 447Supported platforms 448------------------- 449This release is intended to work on systems with the following minimal 450requirements (Note: not all features available on all platforms): 451- g++-4.9 or later 452- Xcode 10.1 or later 453- Python 3.5 or later 454 455Starting with ns-3.30, Python 3 will be the only supported Python version, 456and scripts will default to Python 3 usage. Python 2.7 may continue to work 457in the near term. 458 459This release has been tested on the following systems: 460- Fedora 30 with g++-9.1.1 461- Ubuntu 19.04 with g++-8.3.0 462- Ubuntu 18.04 with g++-7.4.0 463- Ubuntu 16.04.6 with g++-5.4.0 464- Linux Mint 19 Tara with g++-7.3.0 465- macOS 10.14.6 (Mojave) with Xcode 10.3 466- macOS 10.13.6 (High Sierra) with Xcode 10.1 467 468New user-visible features 469------------------------- 470- (core) ShowProgress object can be used to report on simulation execution 471- (wifi) Preamble detection can now be modelled and is enabled by default. 472- (wifi) 802.11ax spatial reuse is now supported. 473- (lte) Radio Link Failure (RLF) functionality is now supported. 474- (lte) LTE/EPC model enhanced with new features: SGW, PGW, MME are full nodes; new S5 interface between SGW and PGW, allows simulations with multiple SGW/PGW 475- (lte) LTE eNB RRC extended to support improved S1 signalling model 476- (lte) Backhaul links can now use any link technology, not just point-to-point 477- (traffic-control) Cobalt queue disc model has been added. 478 479Bugs fixed 480---------- 481During this release cycle, the project transitioned from a Bugzilla issue 482tracker to a GitLab.com issue tracker. Bugs fixed from the Bugzilla tracker 483include: 484 485- Bug 2339 - lte: Use only the active RBs for uplink PSD computation 486- Bug 2460 - wifi: Refactor detection thresholds in WifiPhy and add a new sensitivity threshold to throw away weak signals 487- Bug 2470 - wifi: Handshake to setup the Block Ack Agreement is not protected 488- Bug 2637 - build: macOS SDK headers in non-standard place 489- Bug 2860 - mobility: Set Z coordinate for position-allocation classes 490- Bug 2861 - lte: Forward TXOPs to the RLCs of SCCs 491- Bug 2893 - lte: GetPgw in helper should be const 492- Bug 2979 - lte: Remove unused code from UE RRC and UE CCM 493- Bug 2980 - lte: Reset MAC and PHY of secondary carriers upon handover 494- Bug 2982 - lte: Configure UE MAC SAP LteMacSapUser properly 495- Bug 2988 - lte: Correction in L3 filtering formula used for UL power control 496- Bug 2990 - internet: IPv6 packet shouldn't be marked with SocketIpTtlTag 497- Bug 2992 - lte: Send method of the LteUeNetDevice doesn't use protocolNumber parameter 498- Bug 2993 - build: Waf --enable-sudo option broken 499- Bug 2997 - lte: EpcTft::PacketFilter::Matches does not use ipv6 address to match an IP packet 500- Bug 3007 - build: Boost library configuration in contrib 501- Bug 3027 - lte: S1 signalling is done before RRC connection establishment is finished 502 503Bugs fixed from the GitLab.com issue tracker include: 504 505- Issue #11 - mobility: Rectangle::GetClosestSide returns the correct side also for positions outside the rectangle 506- Issue #14 - build: Check file timestamps instead of hashes for changes 507- Issue #15 - build: Fix build erroneous order constraint warnings 508- Issue #27 - wifi: Re-compute the A-MPDU after an RTS/CTS exchange fails 509- Issue #28 - wifi: wifi error model: coded bits vs. data bits 510- Issue #30 - wifi: Sequence number wrap around in MacLow::ReceiveMpdu 511- Issue #32 - wifi: Example "rate-adaptation-distance.cc" fails. 512- Issue #33 - wifi: Issues with QosTxop::StartNextPacket 513- Issue #35 - wifi: Unexpected EDCA performance under virtual collisions for 802.11n 514- Issue #42 - wifi: Check configured capture window for capture 515- Issue #43 - core: Check if ObjectFactory has been configured 516- Issue #45 - wifi: Wi-Fi transmits frames outside BlockAck window 517- Issue #46 - internet: Export headers for transport protocol modularity 518- Issue #47 - core: Return non-const reference when a const Ptr is dereferenced 519- Issue #48 - wifi: Incorrect sequence comparison in BlockAckManager::NeedBarRetransmission 520- Issue #53 - lte: Token Bank Fair Queue Scheduler is creating a transmit opportunity of 0 bytes 521- Issue #54 - lte: RadioBearerStats are not correctly connected 522- Issue #70 - visualizer: Update configuration of GooCanvas.CanvasEllipse 523- Merge request !19 - wifi: Rework MSDU and MPDU aggregation code 524- Merge request !22 - spectrum: Fix order of PHYs stored in MultiModelSpectrumChannel 525- Merge request !30 - lte: Fix PDU delivering at the edge of reordering window 526- Merge request !43 - traffic-control: Install FqCoDelQueueDisc by default 527- Merge request !55 - lte: Reset preamble transmission count before starting NC based RACH 528- Merge request !65 - tcp: Call BytesInFlight method before processing ack 529- Merge request !67 - wifi: Pass number of data bits instead of coded bits to error models 530- Merge request !85 - uan: Fix MAC address variable shadowing in subclasses 531 532Other issues fixed: 533- core: Replace int64_t operator/(Time,Time) with exact int64x64_t version, add int64x64_t scaling. 534- core: Refactor LogTimePrinter, LogNodePrinter 535- energy: Update remaining energy even if simulation has finished 536- flow-monitor: Fix FlowMonitor::Stop () method 537- mobility: Allow AssignStreams after construction for SteadyStateRandomWaypointMobilityModel 538- lte: Add attribute to configure the periodicity of DL CQI reports 539- lte: Fix type of them_rapIdRntiMap key 540- lte: Various updates of the ComponentCarrier subclasses to accommodate NR 541- lte: Fix issue with use of packet tag in LTE PDCP and RLC by using byte tag 542- visualizer: Fix various issues with Python 3 and X server compatibility 543- wifi: Fix A-MPDU reception logic 544- wifi: Fix noise interference calculation 545- wifi: Do not allow S-MPDU transmission as long as ADDBA handshake not established 546- wifi: Fix frequencies for channels 54 and 126 547- wifi: Fix rate used to send Block Ack Request frames 548- wifi: Check that SSID in probe requests is either broadcast or corresponds to AP SSID 549- wifi: Do not call ReportDataFailed if retransmission not needed 550- wifi: Fix duplicate MPDUs sent in an A-MPDU when explicit BARs are disabled 551- wifi: Fix issues when MSDU lifetime is expired 552- wifi: Enforce capture window duration in frame capture model, and fix capture model for A-MPDU 553- wifi: Correct handling of timeout situations during block ack agreement setup 554- wifi: Return correct serialized size for AmpduTag 555- wifi: Fix incorrect channel width when HT, VHT, or HE STA received legacy PPDU 556 557Known issues 558------------ 559In general, known issues are tracked on the project tracker available 560at https://gitlab.com/nsnam/ns-3-dev/issues 561 562Release 3.29 563============ 564 565This release is dedicated to the memory of project co-founder George Riley. 566 567Availability 568------------ 569This release is available from: 570https://www.nsnam.org/release/ns-allinone-3.29.tar.bz2 571 572Supported platforms 573------------------- 574This release is intended to work on systems with the following minimal 575requirements (Note: not all features available on all platforms): 576- g++-4.9 or later 577- Apple LLVM version 7.0.2 or later 578- clang-3.3 or later 579 580In addition, Python 2.7 (Python 2 series) or Python 3.4-3.7 (Python 3 series) 581 582This release has been tested on the following platforms: 583- Ubuntu 18.04 (64 bit) with g++-7.3.0 and Python 2.7.15 584- Ubuntu 16.04 (64 bit) with g++-5.4.0 and Python 2.7.12/3.5.2 585- Fedora Core 28 (64 bit) with g++-8.1.1 and Python 2.7.15/3.7.0 586- Fedora Core 26 (64 bit) with g++-7.3.1 and Python 2.7.14/3.6.5 587- macOS High Sierra 10.13.5 with Xcode 9.4.1, Apple LLVM version 9.1.0, Python 2.7.10 588 589New user-visible features 590------------------------- 591- (buildings) A new position allocator has been added to the buildings module. 592 The allocator places nodes randomly but in a manner that rejects positions 593 that are located within buildings defined in the scenario. 594- (applications) Add 3GPP HTTP model 595- (traffic-control) Add priority queue disc (PrioQueueDisc) 596- (tcp) Added PRR as recovery algorithm 597- (wifi) Add a new trace source to StaWifiMac to trace beacon arrivals 598- (network) Add a method to allow random variable-based jitter to be added 599 to the start times of applications in a container. 600- (network) Add a method to check whether a node with a given ID is within 601 a NodeContainer. 602- (spectrum) A new trace source named "Gain" is added to the SpectrumChannel class. 603 This trace is fired whenever a new path loss value is calculated. It exports pointers 604 to the mobility model of the transmitter and the receiver, Tx antenna gain, Rx antenna gain, 605 propagation gain and the pathloss value. 606- (wifi) It is now possible to transmit A-MPDUs containing up to 256 MPDUs (802.11ax only) 607 608Bugs fixed 609---------- 610- Bug 2299 - uan: WOSS integration missing patch 611- Bug 2399 - wifi: Improve scanning procedure of StaWifiMac 612- Bug 2451 - bindings: (partial fix) generating ILP32 bindings from LP64 613- Bug 2461 - core: CommandLine should handle non-option arguments 614- Bug 2772 - bridge: Bridge doesn't learn from packets sent to it 615- Bug 2801 - fd-net-device: FdNetDevice device MTU is not set correctly 616- Bug 2819 - traffic-control: FqCoDel handling of non-IP packets 617- Bug 2891 - netanim: dumbbell-animation breaks when RightCount > LeftCount 618- Bug 2901 - core: Add CommandLine::Parse (const std::vector<std::string>> args) 619- Bug 2902 - build: missing modules cause Waf to run indefinitely 620- Bug 2908 - build: Check if pybindgen version exists before use 621- Bug 2911 - aodv: Binary exponential backoff can become unlimited 622- Bug 2914 - tcp: Adv Win resilience to SequenceNumber wrap-around 623- Bug 2915 - build: Enforce gcc minimum version 624- Bug 2920 - wifi: Default MaxSlrc and fragmentation threshold values differ from standard 625- Bug 2921 - tcp: Add min_cwnd variable to LEDBAT 626- Bug 2923 - tap-bridge: UseLocal mode uses wrong MAC address 627- Bug 2924 - traffic-control:documentation about Peek/Dequeue usage 628- Bug 2925 - wifi: MinstrelHt provides strange results at low SNR with A-MPDU enabled 629- Bug 2926 - wifi: SSRC and SLRC mechanism not fully aligned to the standard 630- Bug 2927 - lte: Valgrind error in lena-x2-handover example 631- Bug 2931 - traffic-control: QueueDisc drops the CE marked packets 632- Bug 2936 - Disable -Wparentheses with GTK+ and gcc-8 633- Bug 2938 - build: add --disable-werror flag to Waf 634- Bug 2940 - traffic-control: QueueDisc SojournTime should be TracedCallback 635- Bug 2941 - wifi: Order bit of Frame control field of WifiMacHeader not correctly set for some frames 636- Bug 2948 - network: SetPriority does not support value 7 637- Bug 2949 - test: Exit test.py if incorrect fullness option used 638- Bug 2964 - wifi: IdealWifiManager keeps using the same MCS when all transmissions fail 639- Bug 2974 - lte: Inconsistent declaration of IPV6 methods 640 641Known issues 642------------ 643In general, known issues are tracked on the project tracker available 644at http://www.nsnam.org/bugzilla/ 645 646Release 3.28 647============ 648 649Availability 650------------ 651This release is available from: 652https://www.nsnam.org/release/ns-allinone-3.28.tar.bz2 653 654Supported platforms 655------------------- 656This release is intended to work on systems with the following minimal 657compiler requirements (other compilers supporting C++11 may also work): 658- g++-4.9 or later 659- Apple LLVM version 7.0.2 or later 660- clang-3.3 or later 661In addition, a Python 2.7 (Python 2 series) or Python 3.4 (Python 3 series) 662or later is required. 663 664This release has been tested on the following platforms: 665- Ubuntu 17.10 (64 bit) with g++-7.2.0 and Python 2.7.14 666- Ubuntu 16.04 (64 bit) with g++-5.4.0 and Python 2.7.12 667- Fedora Core 27 (64 bit) with g++-7.3.1 and Python 2.7.14 668- Fedora Core 26 (64 bit) with g++-7.3.1 and g++-7.1.1, and Python 2.7.14 669- CentOS/RHEL 7.4 (64-bit) with g++-6.3.1 and Python 3.5.1 670 - Note: the default g++ version (4.8) must be upgraded 671- CentOS/RHEL 6.8 (64-bit) with g++-4.9.2 and Python 2.7.13 672 - Note: the default g++ version (4.4) must be upgraded 673 - Note: the default Python version (2.6) must be upgraded 674- OS X Sierra 10.12.6 with Xcode 9.2, Apple LLVM version 9.0.0, Python 2.7.13 675- OS X Yosemite 10.10.5 with Xcode 7.2.1, Apple LLVM vers. 7.0.2, Python 2.7.10 676 677New user-visible features 678------------------------- 679- (tcp) Added TCP-LP as a congestion control module 680- (tcp) When TCP SACK is enabled, the third rule defined in RFC 6675 regarding the next segment to transmit is followed 681- (tcp) Separated the CongestionWindow trace into a CongestionWindow trace and a CongestionWindowInflated trace, where the latter tracks window inflation during loss recovery as defined by the Reno algorithm 682- (tcp) Implemented the core functionality of TCP Pacing. 683- (lr-wpan) Extended addressing mode is now supported. 684- (internet) Ipv[4,6]AddressGenerator can now check if an address or a network is already allocated. 685- (internet) Ipv6AddressHelper has more pedantic checks, but more than one such helper can now be used in a program. 686- (lte) UEs can now use IPv6 to send and receive traffic. 687- (uan) The UAN module now supports an IP stack 688- (uan) Added some examples for running raw, IPv4, IPv6, and 6LoWPAN over UAN 689- (traffic-control) Added a FIFO queue disc (FifoQueueDisc) and the Token Bucket Filter (TbfQueueDisc). 690 691Bugs fixed 692---------- 693- Bug 1745 - There can be only one Ipv6AddressHelper in a script 694- Bug 1783 - tcp: Experiencing drops during fast recovery causes TCP's congestion window to blow up. Not anymore. 695- Bug 2107 - lte: Enable PCAP for S1 and X2 point-to-point links 696- Bug 2152 - lte: Fix uplink HARQ retx. out of synch at the MAC layer 697- Bug 2151 - lte: Generate correct redundancy version in uplink HARQ 698- Bug 2277 - lte: EpcTftClassifier::Classify blindly assumes that a packet has a L4 header 699- Bug 2505 - network: Avoid asserts in Header/Trailer deserialization 700- Bug 2653 - tcp: Avoid saving smaller TS in case of packet reordering 701- Bug 2656 - wifi: Minstrel and MinstrelHt provide different results for 802.11a/b/g 702- Bug 2754 - lte: Incorrect arguments passed to Asn1Header::SerializeInteger 703- Bug 2764 - wifi: WifiSpectrumModelId doesn't distinguish 11ax from legacy 704- Bug 2766 - core: Modify logging for int64x64 to avoid stack overflow 705- Bug 2768 - lte: LteUeNetDevice has a null MAC address 706- Bug 2774 - wifi: Wifi Transmitter Sends ADDBA Request Continuously Even After Transmitting Delba Frame 707- Bug 2791 - wifi: Interference Helper gives negative trace value for Interference Power 708- Bug 2807 - energy: GetTotalEnergyConsumption is not updated correctly 709- Bug 2809 - wifi: Wifi doesn't fully stop when energy is depleted 710- Bug 2813 - wifi: OFDM 10 MHz and 5 MHz PHYs do not have correct subcarrier frequency spacings 711- Bug 2820 - wifi: segmentation fault when Rrpaa wifi manager is used 712- Bug 2821 - lte: Set correct limit for UL retx. in Round Robin scheduler 713- Bug 2824 - ICMP opcode fr fragment timeout drop is wrong 714- Bug 2826 - wifi: Management frames should be sent using the lowest basic rate 715- Bug 2827 - wifi: Active scanning not working with 802.11n/ac/ax 716- Bug 2828 - OLSR simple P2P example produces wrong results 717- Bug 2831 - wifi: runtime channel width switch has no effect 718- Bug 2832 - tcp: Partial ACK triggering repeated retransmission 719- Bug 2836 - wifi: Missing VHT information in radiotap header when A-MPDU is used 720- Bug 2838 - wifi: ht-wifi-network crashes with RTS/CTS enabled and frequency set to 2.4GHz 721- Bug 2840 - lte: Wrong configuration of eNBs and UEs 722- Bug 2843 - spectrum, wifi: Incorrect channel width and center frequency provided for non-HT PPDUs when building SpectralDensity 723- Bug 2848 - wifi: Association ID not correctly set upon association 724- Bug 2849 - lte: Received RLC and PDCP PDUs are missing in the stats files 725- Bug 2854 - wifi: Fix 802.11ax channel width capabilities 726- Bug 2856 - wifi: Correct bugs and improve logging in MinstrelHt 727- Bug 2859 - tcp: calculation of BytesInFlight during partial recovery is fixed 728- Bug 2866 - tcp: Removed VS warnings on TcpSocketBase 729- Bug 2872 - csma: Packet copy in CsmaChannel breaks netanim tracing 730- Bug 2873 - tcp: Potential SIGFPE in TcpYeah 731- Bug 2874 - tcp: Corrected interpretation of RFC 6675 for IsLost check 732- Bug 2875 - tcp: Use Rule3 of RFC6675 only with SACK enabled 733- Bug 2876 - tcp: Do not shrink adv window after we send the FIN 734- Bug 2877 - wifi: Wrong data types for CWmin and CWmax 735- Bug 2885 - lte: Tests fail for CQA and PSS testsuites 736- Bug 2890 - internet: Icmpv4 "ECHO" is defined in system-wide headers 737- Bug 2898 - lte: Coding issue in function RrcAsn1Header::DeserializeRachConfigCommon 738- Bug 2899 - lte: Inconsistent type for variable cellForWhichToReportCGI 739- wifi: Fix wrong guard band for SpectrumWifiPhy DSSS/HR-DSSS 740 741Known issues 742------------ 743In general, known issues are tracked on the project tracker available 744at http://www.nsnam.org/bugzilla/ 745 746Release 3.27 747============ 748 749Availability 750------------ 751This release is available from: 752https://www.nsnam.org/release/ns-allinone-3.27.tar.bz2 753 754Supported platforms 755------------------- 756This release is intended to work on systems with the following minimal 757requirements (Note: not all features available on all platforms): 758- g++-4.9 or later (Note: this is an upgraded requirement from ns-3.26) 759- Apple LLVM version 7.0.2 or later 760- clang-3.3 or later 761- Python 2.7 (Python 2 series) or Python 3.4 (Python 3 series) or later 762 763This release has been tested on the following platforms: 764- Ubuntu 17.04 (64 bit) with g++-6.3.0 765- Ubuntu 16.04 (64 bit) with g++-5.4.0 766- Ubuntu 14.04.5 (64 bit) with g++-4.9.4 767 - Note: the default g++ version (4.8) must be upgraded 768- Fedora Core 26 (64 bit) with g++-7.1.1 769- Fedora Core 22 (64 bit) with g++-5.3.1 770- CentOS/RHEL 7.4 (64-bit) with g++-6.3.1 771 - Note: the default g++ version (4.8) must be upgraded 772- CentOS/RHEL 6.8 (64-bit) with g++-4.9.2 773 - Note: the default g++ version (4.4) must be upgraded 774 - Note: the default Python version (2.6) must be upgraded 775- OS X Sierra 10.12.6 with Xcode 9.0 and Apple LLVM version 9.0.0 776- OS X El Capitan 10.11.6 with Xcode 8.2.1 and Apple LLVM version 8.0.0 777- OS X Yosemite 10.10.5 with Xcode 7.2.1 and Apple LLVM version 7.0.2 778- Windows 10 Linux Subsystem with g++-5.4.0 779 780New user-visible features 781------------------------- 782- (build) Modules can also be located in contrib/ directory (as well as src/) 783- (core) Logging timestamp precision has been improved 784- (lte) LTE carrier aggregation feature according to 3GPP Release 10 is now supported. 785- (traffic-control) CsmaNetDevice, SimpleNetDevice and WifiNetDevice support flow control. 786- (traffic-control) Added support for queue discs to mark packets, and ECN support has been added to RED 787- (traffic-control) A multi-queue aware queue disc modelled after Linux mq 788- (traffic-control) Added support for detailed statistics output of queue discs 789- (traffic-control) Added support for tracing queue sojourn times 790- (tcp) The SACK option and the RFC 6675 loss recovery algorithm are now supported. 791- (tcp) A LEDBAT model has been added. 792- (wifi) 802.11ax High Efficiency (HE) physical layer modes are now supported. 793- (wifi) A new RRPAA rate control mechanism has been added. 794- (wifi) A new trace source for TXOP duration is now supported 795- (wifi) Frame capture effect can now be modelled 796- (uan) World Ocean System Simulation (WOSS) integration, and new PER models 797 798Bugs fixed 799---------- 800- Bug 1034 - wifi: No trace source for packet dropping from WifiMacQueue 801- Bug 2007 - uan: Remove deprecation on SetRxThresholdDb 802- Bug 2048 - lte: Fix scheduler resource allocation when CQI==0 (out of rante) 803- Bug 2133 - tcp: Avoid assert when receiving data in FIN_WAIT_1 or _2 states 804- Bug 2214 - tcp: Use of ScheduleNow only in selected part of the code 805- Bug 2221 - network: Remove constraint on size of ns3::Packet Tag objects 806- Bug 2256 - tcp: bytes in flight now updated in TcpTxBuffer 807- Bug 2263 - tcp: Support processing of multiple TCP options 808- Bug 2285 - tcp: Loss of ack of SYN can cause improper connection setup 809- Bug 2367 - wifi: BlockAckManager does not remove iterators to freed items 810- Bug 2450 - propagation: LogDistancePropagationLossModel is not continuous 811- Bug 2456 - lte: MemberCschedSapProvider and Member CschedSapProvider templates 812- Bug 2464 - spectrum: Store spectrum conversion matrix in CSR format 813- Bug 2467 - spectrum: Do not schedule StartRx for receivers on other models 814- Bug 2471 - wifi: unable to disable Block Ack agreement for 802.11n 815- Bug 2477 - wifi: DCF manager assert 816- Bug 2485 - traffic-control: Check queue full before checking RED thresholds 817- Bug 2491 - wifi: replace DcfManager::MY_DEBUG 818- Bug 2492 - uan: Make use of RxGain attribute in UanPhyGen class 819- Bug 2511 - wifi: HT Greenfield is not working 820- Bug 2512 - traffic-control: Byte mode not configured correctly for RED test 821- Bug 2513 - core: ParetoRandomVariable needs a "scale", not a "mean" attribute 822- Bug 2518 - build: Suppress printing of list of modules for Python programs 823- Bug 2519 - lte: m_windowOffsetsMap.end () dereference 824- Bug 2520 - examples: TCP variant not configured in wifi-tcp.cc 825- Bug 2521 - internet: Include ipv6-option.h in wscript 826- Bug 2523 - lte: Generate the RLC PDU properly 827- Bug 2527 - internet: PrintRoutingTable adds an optional Time::Units parameter 828- Bug 2528 - wifi: 802.11n RIFS cannot be enabled 829- Bug 2529 - wifi: Missing trace for Block ACK timeout or missing MPDUs 830- Bug 2530 - aodv: Rename aodv::SetBalckListTimeout to aodv::SetBlackListTimeout 831- Bug 2531 - lte: Set HARQ feedback default value to avoid false retrasmissions 832- Bug 2532 - wifi: Inconsistencies between 802.11n MCS and NSS value in TXVECTOR 833- Bug 2533 - wifi: Provide better 802.11n/ac PHY abstraction for SIMO/MISO/MIMO 834- Bug 2534 - traffic-control: ARED and PIE examples should return 1 upon exit 835- Bug 2535 - utils: memory leak in bench-simulator.cc 836- Bug 2536 - wimax: fixed dead assignment and potential memory leak in wimax 837- Bug 2537 - traffic-control: Fix dead assignment on CoDel::DoDequeue 838- Bug 2538 - tap-bridge: fixed dead assignment on tap-bridge 839- Bug 2540 - mesh: fixed dead assignment on mesh/ie-dot11s-perr 840- Bug 2541 - wifi: preamble not assigned correctly 841- Bug 2542 - wifi: dead assignment on wifi mac-low 842- Bug 2543 - lte: Fix when EstimateUlSinr returns NO_SINR 843- Bug 2545 - flow-monitor: Optimized build fails for flow-monitor 844- Bug 2547 - tcp: dead assignments on various tcp congestion controls 845- Bug 2551 - wifi: wifi preamble should be part of TXVECTOR 846- Bug 2552 - wifi: Remove code duplication between Yans and Spectrum 847- Bug 2554 - wave: Fix static analysis warning 848- Bug 2556 - csma, point-to-point: Avoid modification of transmitted packets 849- Bug 2557 - point-to-point: Fix dead assignments in queue-discs-benchmark 850- Bug 2559 - tcp: TCP advertised window still incorrect 851- Bug 2561 - tcp: TCP can not use Connect after a BindToNetDevice 852- Bug 2563 - bindings: pybindgen version check to >= minimum version required 853- Bug 2564 - wifi: Simulation crashes when CtsTimeout triggered for A-MPDU 854- Bug 2565 - tcp: Do not wait for 2*MSL to notify socket close 855- Bug 2566 - wifi: BlockAckManager::GetNRetryNeededPackets missing some packets 856- Bug 2568 - examples: Avoid enumerating TCP variants 857- Bug 2577 - wifi: crashes when A-MPDU and multiple TOS used, upon CTS timeout 858- Bug 2578 - wifi: Unexpected assert "Internal collision but no packet in queue" 859- Bug 2584 - wifi: MacLow triggers StartNext even if there is no TXOP 860- Bug 2587 - tcp: Avoid overflow in htcp.cc 861- Bug 2590 - traffic-control: Minor enhancements in red-queue-disc{.h, .cc} 862- Bug 2591 - wifi: 802.11e Block Ack cannot be enabled on HT/VHT stations 863- Bug 2594 - wifi: vht-wifi-network very low throughtput at MCS 6, 160 MHz, SGI 864- Bug 2596 - network: EthernetTrailer::GetFcs() should be const 865- Bug 2601 - wifi: HT stations should use 40 MHz width if configured 80 or 160z 866- Bug 2604 - wifi: QosData frames separation with Block Ack enabled 867- Bug 2605 - wifi: HT/VHT station sending to legacy results in null throughput 868- Bug 2606 - wifi: Ideal rate manager for HT/VHT station to a legacy AP 869- Bug 2607 - wifi: Correct overflow in channel width loop in Minstrel HT 870- Bug 2613 - tcp: MaxRxSequence () is sometimes too large 871- Bug 2614 - internet: RIP header version should be set to 2 872- Bug 2615 - wifi: When the TXOP limit is nonzero, fragment in some cases 873- Bug 2617 - traffic-control: PfifoFastQueueDisc::Peek all bands 874- Bug 2621 - wifi: Fix mismatch between log message and action 875- Bug 2624 - lte: Inconsistent coding of type and naming 876- Bug 2627 - internet: Ipv6RawSocket does not honor the bound interface 877- Bug 2628 - wifi: Simulation crashes because of an out of range TID 878- Bug 2629 - wifi: Assert failure in MinstrelHtWifiManager::GetLowestIndex 879- Bug 2632 - lte: Build error due to uninitialized variable in rem helper 880- Bug 2646 - lte: lena-simple-eps-emu example will never work 881- Bug 2647 - wifi: ideal-wifi-manager-example crashes when NSS > 1 882- Bug 2649 - tcp: Disabling TCP SACK doesn't fall back to NewReno 883- Bug 2654 - wifi: Rraa wifi manager cannot be used with 802.11b 884- Bug 2655 - wifi: A-MPDU simulation using TCP sometimes fails 885- Bug 2658 - core: Avoid unexpected TracedValue type conversions 886- Bug 2660 - traffic-control: TrafficControlHelper::Default configuration 887- Bug 2661 - wave: Fix outdated class references in documentation 888- Bug 2665 - internet: Ipv4RawSocket can not send to broadcast or multicast 889- Bug 2666 - lte: Remove deprecated variables/config paths 890- Bug 2668 - various: Make template classes use NS_LOG_* macros 891- Bug 2671 - internet: ArpCache::Entry::SetMacAddress is misspelled 892- Bug 2673 - wifi: run-time channel switch does not update WiFi spectrum model 893- Bug 2675 - traffic-control: Use correct string value in PIE example 894- Bug 2716 - tcp: TCP socket ignoring FIN flag when in FIN_WAIT state 895- Bug 2717 - internet: Fix mask for Ipv4RoutingTableEntry::CreateDefaultRoute 896- Bug 2722 - wifi: 802.11g sends DSSS spectrum signals inappropriately 897- Bug 2731 - lte: Allow retranmission in RLC AM when PR expires, vtS overflows 898- Bug 2732 - applications: BulkSend Tx trace is fired too much 899- Bug 2733 - wifi: Ideal wifi manager cannot handle NSS higher than 1 900- Bug 2741 - internet: IPv4 fragmentation fails on last fragment fragmentation 901- Bug 2744 - wifi: 802.11n/ac with RTS/CTS crashes for a large number of nodes 902- Bug 2751 - traffic-control: QueueDisc::Enqueue() order of operations 903- Bug 2756 - internet: Ipv4AddressGenerator underestimates available addresses 904- Bug 2757 - wifi: 802.11n/ac/ax maximum TXOP is not properly enforced 905- Bug 2758 - internet: IPv4 sockets bound to unicast receiving subnet broadcast 906- Bug 2759 - internet: Packet conversion from broadcast to subnet-directed 907- Bug 2760 - internet: OLSR uses unicast-bound sockets to receive broadcasts 908- Bug 2761 - wifi: Packet has no Traffic ID for CTS frames when A-MPDU is used 909- Bug 2762 - internet: BindToNetDevice behaviour is not coherent with Linux 910- Bug 2763 - wifi: management packets in PCAPs are marked as wrong by Wireshark 911- Bug 2769 - tcp: Set ssthresh correctly upon RTO 912- Bug 2771 - wifi: IdealWifiManager problems under different number of antennas 913- Bug 2776 - wifi: Fix segmentation fault in MacLow 914- Bug 2777 - lte: Save bearer info in m_drbMap, needed for handover request 915- Bug 2781 - tcp: Do not go beyond limit in TcpTxBuffer 916- Bug 2783 - wifi: MonitorSnifferRx SNR is invariant to RxNoiseFigure 917- Bug 2786 - lte: Remove unimplemented declaration 918- Bug 2796 - tcp: NSC TCP transmission flow control not working 919 920Known issues 921------------ 922In general, known issues are tracked on the project tracker available 923at http://www.nsnam.org/bugzilla/ 924 925Release 3.26 926============ 927 928Availability 929------------ 930This release is available from: 931https://www.nsnam.org/release/ns-allinone-3.26.tar.bz2 932 933Supported platforms 934------------------- 935This release is intended to work on systems with the following minimal 936requirements: 937- g++-4.8 or later 938- clang-3.3 or later 939- Python 2.7 (Python 2 series) 940- Python 3.4 or later (Python 3 series) 941 942This release has been tested on the following platforms: 943- Ubuntu 16.04 (64 bit) with g++-5.4.0 944- Ubuntu 14.04 (64 bit) with g++-4.8.2 945- Fedora Core 24 (64 bit) with g++-6.1.1 946- Fedora Core 22 (32 bit) with g++-5.3.1 947- Fedora Core 21 (64 bit) with g++-4.9.2 948- CentOS/RHEL 6.7 (64-bit) with g++-4.9.2 949- OS X El Capitan 10.11.4 with Xcode 7.3.1 and Apple LLVM version 7.3.0 950- OS X El Capitan 10.11.3 with Xcode 7.2.1 and Apple LLVM version 7.0.2 951 952New user-visible features 953------------------------- 954- (aodv) The node search radius is increased progressively (as per standard). 955- (build system) New --check-config option to waf to reprint the summary 956 of optional features which are configured. 957- (build system) C++11 features are now supported in the codebase 958- (core) DES Metrics support; see the API docs for class DesMetrics. 959- (internet) Added TCP Vegas, Scalable, Veno, Illinois, Bic, YeAH, and 960 H-TCP congestion control algorithms 961- (internet) Add a TOS field to the InetSocketAddress class 962- (network) SocketAddressTag has been removed from the codebase. 963 Users can use RecvFrom (for UDP) or GetPeerName (for TCP) instead. 964- (traffic control) Added the FQ-CoDel and PIE queue disc models 965- (traffic control) Introduce Byte Queue Limits (BQL) 966- (wifi) A new SpectrumWifiPhy physical layer model, making use of the 967 ns-3 spectrum framework, has been introduced. The current version of 968 this model matches the API and behavior of YansWifiPhy closely, but 969 over time is expected to support a different PHY abstraction and error 970 models. 971- (wifi) IEEE 802.11e TXOP limits are now enforced for different access 972 categories when a QoS MAC is configured. 973 974Bugs fixed 975---------- 976- Bug 231 - Avoid adding SocketAddressTag (at all) 977- Bug 1579 - Final fix for segfault caused by EDCA fragmentation 978- Bug 1797 - Rate adaptation algorithms don't work with new 802.11n/ac standards 979- Bug 1911 - AODV doesn't work with more than one NetDevice 980- Bug 1939 - Aggregating the same object to two nodes produce unexpected results 981- Bug 1977 - v4Ping verbose output when not explicitly stopped 982- Bug 2057 - ARP and Ndisc caches should be updated by receiving valid L3 packets 983- Bug 2069 - Avoid integer overflow in ByteTagList 984- Bug 2102 - Ipv4GlobalRouting confused by bridged interfaces 985- Bug 2123 - AODV doesn't use / honor IP TTL in the RREQ / RREP 986- Bug 2149 - support deprecating attributes and trace sources 987- Bug 2222 - incorrect EDCA behavior in case of internal collision 988- Bug 2270 - Support -std=c++11 by default 989- Bug 2306 - Raise DCF IsBusy() condition for CCA busy 990- Bug 2307 - Get rid of m_receivedAtLeastOneMpdu flag 991- Bug 2308 - PacketTag instead of ByteTag in LTE PDCP/RLC 992- Bug 2344 - Attribute names can't have spaces 993- Bug 2346 - sixlowpan CompressionThreshold limit can be violated 994- Bug 2347 - LrWpan Ascii traces are hooked to the wrong traces. 995- Bug 2351 - Fix symbol rate calculation for channels with 10 and 5 MHz width 996- Bug 2352 - Add 'drop oldest' drop policy to WifiMacQueue 997- Bug 2369 - Generate backoff if DCF requests access during AIFS 998- Bug 2375 - Flowmonitor parse crashes when no pkt is received 999- Bug 2376 - New A-MPDU might not be received if MPDUs of a previous A-MPDU are lost 1000- Bug 2377 - SocketIpTosTag and SocketIpv6TclassTag may be added twice in UDP 1001- Bug 2378 - A-MPDU variables are not correctly reset in YansWifiPhy when a PLCP preamble/header failed 1002- Bug 2379 - BlockAckRequest should not be part of single-TID A-MPDUs 1003- Bug 2380 - EdcaTxopN fails to retrieve TID for ADDBA requests, ADDBA responses and DELBA frames 1004- Bug 2383 - IPv4 header for reassembled packets reports a wrong payload size 1005- Bug 2386 - Move UanPhyGen out of Tx mode when energy depleted 1006- Bug 2387 - Fix waf --check-profile command 1007- Bug 2390 - WaypointMobilityModel::AddWaypoint lazy notify schedules an event using absolute time (should be relative time) 1008- Bug 2392 - SYN segment advertised window should not be scaled 1009- Bug 2395 - Upgrade pybindgen for Python >= 3.5 1010- Bug 2396 - move utility functions to WifiPhy 1011- Bug 2397 - add backoff and cw tracing to EDCA 1012- Bug 2398 - add SNR tag to beacons and probe responses 1013- Bug 2401 - Deserialize correctly the len of options in TcpHeader 1014- Bug 2402 - IPv4 Interface forwarding state is not honored 1015- Bug 2406 - Poor 802.11g performance in ad-hoc mode 1016- Bug 2408 - Simulation fails when 802.11n/ac is running with HT Minstrel and pcap enabled 1017- Bug 2412 - align WifiPhy frequency and channel number 1018- Bug 2414 - UdpSocket doesn't call NotifyConnectionFailed 1019- Bug 2419 - BsmApplication should use RecvFrom and not SocketAddressTag 1020- Bug 2420 - Remove code duplication between Wifi and Wave modules 1021- Bug 2421 - Forbid negative RemainingAmpduDuration for the last A-MPDU 1022- Bug 2425 - UdpSocketImpl simplification 1023- Bug 2427 - 802.11ac selects wrong slot duration 1024- Bug 2433 - Bic does not copy private parameters 1025- Bug 2436 - Do not send block ack if received A-MPDU not addressed to station 1026- Bug 2438 - Routing protocols should stop processing packets coming from a non-forwarding interface 1027- Bug 2439 - SixLowPan Compression kind need to be casted to int in the Print function 1028- Bug 2440 - SocketIpTosTag might be added twice if a packet is sent multiple times 1029- Bug 2442 - ConfigStore crash if object container has null item 1030- Bug 2443 - Increase application counters to accommodate Gbps transfer rates 1031- Bug 2444 - PcapHelper DataLinkType enum should have a name 1032- Bug 2445 - Out of bounds array access in Minstrel HT rate control 1033- Bug 2446 - Fix comma delimiter instead of pipe delimiter in Attributes 1034- Bug 2448 - Run examples in traffic control test suite 1035- Bug 2452 - Add Object::IsInitialized method 1036- Bug 2454 - DsrRouting::NotifyDataReceipt is also triggered for wifi management packets 1037- Bug 2461 - TCP BIC should copy private members 1038- Bug 2468 - Simulation with A-MPDU enabled hangs when fragmentation threshold is smaller than MSDU size 1039- Bug 2469 - send Block Ack Request upon short/long retry failures 1040- Bug 2474 - UdpEchoClient does not call Connect with addresses of type Inet[6]SocketAddress 1041- Bug 2477 - Partial fix for wifi asserts when transmit cancels a reception 1042- Bug 2479 - Flow monitor does not a have a "DROP_QUEUE_DISC" drop reason 1043- Bug 2480 - Use SQLite prepared statements 1044- Bug 2481 - Missing or incorrect group names 1045- Bug 2484 - Corrected the exit from CA_LOSS state in TCP 1046- Bug 2486 - NextTxSequence was not traced back from TCB 1047- Bug 2488 - Error in UanPdp::SumTapsFromMaxNc 1048- Bug 2496 - BSS membership selector in SupportedRates 1049- Bug 2500 - Ipv[4,6]RawSocket ignores IpTtl tag 1050- Bug 2507 - ConfigStore RawTextConfigLoad doesn't reset stream error state 1051- Bug 2508 - Duplicate of bug 2507 1052- Bug 2514 - The maximum transmission time for VHT A-MPDUs is not correct 1053- No BugId - Arp logging: label with request or reply properly 1054 1055Known issues 1056------------ 1057In general, known issues are tracked on the project tracker available 1058at http://www.nsnam.org/bugzilla/ 1059 1060Release 3.25 1061============ 1062 1063Availability 1064------------ 1065This release is available from: 1066https://www.nsnam.org/release/ns-allinone-3.25.tar.bz2 1067 1068Supported platforms 1069------------------- 1070This release has been tested on the following platforms: 1071- Ubuntu 15.10 (64 bit) with g++-5.2.1 1072- Ubuntu 14.04 (64 bit) with g++-4.8.2 1073- Fedora Core 23 (64 bit) with g++-5.3.1 1074- Fedora Core 22 (32 bit) with g++-5.1.1 1075- Fedora Core 21 (64 bit) with g++-4.9.2 1076- Arch Linux (64 bit) with g++-5.3.0 and clang++-3.7.1 1077- CentOS/RHEL 6.7 (64-bit) with g++-4.4.7 1078- OS X El Capitan 10.11.4 with Xcode 7.3 and Apple LLVM version 7.3.0 1079- OS X El Capitan 10.11.3 with Xcode 7.2.1 and Apple LLVM version 7.0.2 1080- OS X Yosemite 10.10.5 with Xcode 7.2.1 and Apple LLVM version 7.0.2 1081- FreeBSD 10.2-RELEASE (64 bit) with clang-3.4.1 1082 1083New user-visible features 1084------------------------- 1085- (internet) The native TCP implementation has been refactored, for the 1086 following improvements: 1087 1) congestion control has been aligned with the Linux architecture, 1088 to facilitate easier coding of new congestion control algorithms 1089 or porting implementations from the Linux kernel, 1090 2) Fast Retransmit and Fast Recovery algorithms, compliant to RFCs, are 1091 shared by all TCP variants, unlike previous releases. 1092 3) TCP Hybla and TCP HighSpeed variants have been added. 1093 1094- (routing) The PrintRoutingTable* functions now print the following information 1095 each time they are called: 1096 1) the node ID, 1097 2) the global time, 1098 3) the local time (allowing for future introduction of per-node clocks), 1099 4) the routing protocol type 1100 1101- (traffic control) A traffic control sublayer has been added with the aim of 1102 introducing an equivalent of the Linux Traffic +Control infrastructure into 1103 ns-3. This layer sits in between the NetDevices (L2) and the network 1104 protocol (e.g. IP). It is in charge of processing packets and performing 1105 actions on them: scheduling, dropping, marking, policing, etc. Initial 1106 support for flow control has been added to the PointToPointNetDevice; 1107 backward-compatible support for other device types is provided. 1108 1109- (traffic control) A three band priority queue modelled after Linux 1110 pfifo_fast queueing discipline has been added. 1111 1112- (traffic control) Adaptive RED extensions have been added to the RED model 1113 1114- (wifi) A number of changes related to improving support for 802.11n/ac 1115 models have been introduced. 1116 1) Two rate controls compatible with High Throughput (HT) Wi-Fi modes 1117 (e.g. 802.11n/ac), Ideal and MinstrelHT, have been added 1118 2) Support for multiple spatial streams (MIMO) using existing SISO 1119 error models 1120 3) The WiFi helper API for the WifiMac sublayer, and the configuration 1121 of HT modes and parameters, has been simplified 1122 4) Better support for backward compatibility with legacy modes 1123 1124- (wifi) 802.11g was made backward compatible with 802.11b networks 1125 1126- (internet) L4 protocols (e.g., TCP, UDP, ICMP, etc.) can be demultiplexed 1127 by IP according to the incoming interface. In other words, it is now 1128 possible to use specialized L4 protocols according to the interface. 1129 1130- (internet) Ipv6Address::IsAllHostsMulticast() is now deprecated. 1131 FF02::3 is not in the official reserved IPv6 multicast address list. 1132 1133- (internet) Ipv6Address::IsAll[Nodes,Routers]Multicast() now checks the 1134 address scope beyond the simple link-local. Nodes are checked for 1135 Interface-Local, Link-Local and Realm-Local, Routers for the above plus 1136 Site-Local. 1137 1138- (internet) Ipv6 routing protocols must now *not* forward packets to upper 1139 layers unless for extremey specific cases. The Ipv6L3protocol handles 1140 almost all the packets directed to the host. 1141 1142- (internet) Ipv6 can now reject packets directed to an address not configured 1143 on the interface they are received from (Strong End System Model, RFC 1222). 1144 1145- (internet) UDP and Ipv6 RAW sockets can now join Ipv6 multicast groups. 1146 Incoming packets will be filtered according to if there's a socket listening 1147 to that group. Source filtering is left to the application. 1148 1149- (network) ns-3 is now capable of serializing cooked (SLL) headers. This is 1150 used in DCE to allow the generation of pcap directly readable by wireshark. 1151 1152- (internet) It is now possible to set custom values for RipNg Link Down 1153 (standard is 16). 1154 1155- (internet) permanent (static) NDISC entries can be created for IPv6 1156 1157- (internet) IPv4 RIPv2 protocol model is now available. 1158 1159Bugs fixed 1160---------- 1161- Bug 1132 - useless for loops in block-ack-test-suite.cc 1162- Bug 1205 - EDCA is incorrectly modelled as DCF 1163- Bug 1571 - TCP zero-window and flow control window updates by the receiver 1164- Bug 1631 - Acoustic modem Energy consumption calc is wrong 1165- Bug 1761 - Rounding with olsr::EmfToSeconds 1166- Bug 1783 - BytesInFlight value fixed 1167- Bug 1954 - Serialized size of wifi-net-device differ for TX and RX trace 1168- Bug 1999 - PointToPointRemoteChannel invokes PointToPointChannel constructor 1169- Bug 2003 - Missing DSSS short PLCP preamble 1170- Bug 2041 - TCP RTO needs unit tests 1171- Bug 2068 - Timestamp option conforms to RFC 7323 1172- Bug 2102 - Make global routing robust to bridged links 1173- Bug 2116 - refactoring aggregation API 1174- Bug 2120 - 802.11g networks are not compatible with 802.11b clients 1175- Bug 2141 - TCP DataSent callback now correctly notifies sent data, without missing bytes in particular conditions 1176- Bug 2150 - The TCP sender keeps retransmitting and does not terminate the connection after some retries. 1177- Bug 2159 - TCP advertises wrong receive window 1178- Bug 2176 - Building IPv4 address from char* doesn't look reliable 1179- Bug 2183 - LiIonEnergySourceHelper is not in the energy wscript 1180- Bug 2184 - Integer overflow in Wi-Fi MacLow; remove dependency between tx and rx reference number field in MPDU status 1181- Bug 2185 - WiFi MacLow may respond to errored frames that it should ignore 1182- Bug 2193 - Simulation fails when transmitting very small MPDU subframes 1183- Bug 2195 - Udp[*]Client can't send packets to broadcast address 1184- Bug 2201 - Simulation fails when active probing is used in 802.11n/ac with channel bonding enabled 1185- Bug 2206 - Split internet-apps from applications 1186- Bug 2207 - Print node ID and time when printing routing tables 1187- Bug 2208 - Interface index based L4 protocols 1188- Bug 2210 - set Order field to 0 for HT/VHT 1189- Bug 2211 - Ipv{4,6}EndPoint can cause memory corruption 1190- Bug 2213 - Inconsistencies may exist between the selected WifiMacHelper and the chosen 802.11 version 1191- Bug 2219 - SixLowPanNetDevice hangs trying to decode a IPv6 Fragment extension header 1192- Bug 2224 - scope of GetAmpduExist() in EdcaTxopN 1193- Bug 2233 - Implement RFC 1222 - Strong End System Model 1194- Bug 2234 - Ipv6L3Protocol should trash multicast packets not interesting for the node 1195- Bug 2238 - Ipv6 routing reorganization 1196- Bug 2242 - Mobility of both sender PHY and receiver PHY set to sender mobility in lr-wpan-phy-test.cc example. 1197- Bug 2243 - TCP Socket Fork() fails to copy some parameters, causing connections to close prematurely on retransmit 1198- Bug 2246 - Some DSR LogComponents and classes are not defined in a unique way. 1199- Bug 2247 - Disabled Fast retransmit after an RTO 1200- Bug 2249 - LTE perl speed tests possibly broken 1201- Bug 2252 - Nix needs StaticRouting to work 1202- Bug 2254 - Ipv[4,6]RawSocket can return the wrong number of bytes sent. 1203- Bug 2255 - Ipv6RawSocket does not call data sent callbacks. 1204- Bug 2257 - Ipv[4,6]InterfaceContainer::Add are not consistent 1205- Bug 2258 - TcpSocketBase updated options and RTT for out of range segments. 1206- Bug 2259 - GSL not successfully enabled for Wi-Fi DSSS error rate model 1207- Bug 2262 - Corrected initial slow start threshold value 1208- Bug 2266 - NixRouting info are not copied during a packet fragmentation. 1209- Bug 2267 - Wrong channel bandwidth value in pcap files 1210- Bug 2271 - Decision to enable RTS/CTS handshake for A-MPDUs should be based on the comparison between RtsCtsThreshold and the total A-MPDU size 1211- Bug 2272 - SixLowPan NetDevice can not send uncompressed packets larger than 802.15.4 MTU 1212- Bug 2273 - WeakEs model should be enforced in Static and Global routing 1213- Bug 2275 - AdhocWifiMac not compatible with 802.11n/ac 1214- Bug 2279 - Ipv[4,6]L3Protocol::GetInterfaceForDevice speedup. 1215- Bug 2283 - Add capability to use pcap trace files with nanosecond precision timestamps 1216- Bug 2286 - Support for SLL header (de)serialization. 1217- Bug 2287 - FlowMonitor is confused by IP over IP. 1218- Bug 2288 - Ipv4 broadcast and multicast packets are replicated on all the interfaces. 1219- Bug 2289 - RIP v2 implementation 1220- Bug 2290 - Cannot run click examples from test.py 1221- Bug 2292 - Uninitialized variables since commit 7c60a9f8f271 1222- Bug 2293 - Red Queue Estimator spins when trying to compute queue average size under long idle times. 1223- Bug 2297 - 802.11n/ac networks are not compatible with legacy clients 1224- Bug 2302 - Fixing RTT calculation inside TCP Socket 1225- Bug 2303 - WifiMacQueue::GetSize should cleanup queue beforehand 1226- Bug 2304 - DSCP Set/Get are using 8 bit values instead of 6 1227- Bug 2307 - m_receivedAtLeastOneMpdu is not always reset 1228- Bug 2311 - save Ht/Vht capabilities info on a per-station basis 1229- Bug 2313 - Assert failed when using aggregation and RTS/CTS 1230- Bug 2315 - Problem when BACK Request is part of an A-MPDU 1231- Bug 2316 - MacLow shall use a single TXVECTOR for all MPDUs belonging to a same A-MPDU 1232- Bug 2317 - Get the non-HT reference rate of a HT MCS 1233- Bug 2318 - MPDU Aggregation fails with TCP 1234- Bug 2319 - BlockAckTimeout value is too low for 802.11n operating at 2.4 GHz 1235- Bug 2320 - Add method to check whether a WifiTxVector contains a valid combination of WifiMode, number of spatial streams and channel width 1236- Bug 2321 - Wifi rate managers should not be triggered for each MPDU when A-MPDU is used 1237- Bug 2327 - CWmin value selection for 802.11g is not compliant with the standard rules 1238- Bug 2328 - changes to antenna configuration should update HT MCS set 1239- Bug 2331 - Wrong mobility model in vanet-routing-compare example 1240- Bug 2332 - Assert failed when using aggregation and two pairs of AP-STA 1241- Bug 2337 - WifiPhy uses channel width in Hz iso MHz 1242- Bug 2338 - WifiMode selected for control frames may sometimes be invalid 1243 1244Known issues 1245------------ 1246In general, known issues are tracked on the project tracker available 1247at http://www.nsnam.org/bugzilla/ 1248 1249Release 3.24.1 1250============== 1251 1252Release 3.24.1 is a maintenance release that fixes three issues: 1253- support for Xcode 7 clang compiler version 1254- detection of Python bindings location 1255- compilation problem on 32-bit gcc-4.4 machine 1256 1257The issues prevented selected systems from being able to successfully 1258build ns-3, and prevented the released version from being able to 1259detect the presence of pybindgen used for Python bindings. 1260 1261Availability 1262------------ 1263This release is available from: 1264https://www.nsnam.org/release/ns-allinone-3.24.1.tar.bz2 1265 1266Supported platforms 1267------------------- 1268This release has been tested on the following platforms: 1269- Ubuntu 15.04 (64 bit) with g++-4.9.2 1270- Fedora Core 22 (32 bit) with g++-5.1.1 1271- Fedora Core 21 (64 bit) with g++-4.9.2 1272- Ubuntu 14.04 (64 bit) with g++-4.8.2 1273- Ubuntu 12.04.4 (64 bit) with g++-4.6.3 1274- CentOS/RHEL 6.7 (64-bit) with g++-4.4.7 1275- OS X Yosemite 10.10.5 with Xcode 7 and Apple LLVM version 7.0.0 1276- OS X Yosemite 10.10.5 with Xcode 6.4 and Apple LLVM version 6.1.0 1277- FreeBSD 10.2-RELEASE (64 bit) with clang-3.4.1 1278 1279New user-visible features 1280------------------------- 1281Features are identical to release 3.24. 1282 1283Bugs fixed 1284---------- 1285- Bug 2181 - Xcode 7.0 compiler warnings trigger build failure 1286- Bug 2182 - pybindgen required version is now a string literal 1287- Bug 2184 - integer overflow in MacLow 1288 1289Release 3.24 1290============ 1291 1292Availability 1293------------ 1294This release is available from: 1295https://www.nsnam.org/release/ns-allinone-3.24.tar.bz2 1296 1297Supported platforms 1298------------------- 1299This release has been tested on the following platforms: 1300- Ubuntu 15.04 (64 bit) with g++-4.9.2 1301- Fedora Core 22 (32 bit) with g++-5.1.1 1302- Fedora Core 21 (64 bit) with g++-4.9.2 1303- Ubuntu 14.04 (64 bit) with g++-4.8.2 1304- Ubuntu 12.04.4 (32/64 bit) with g++-4.6.3 1305- CentOS/RHEL 6.7 (64-bit) with g++-4.4.7 1306- OS X Yosemite 10.10.4 with Xcode 6.4 and Apple LLVM version 6.1.0 1307- FreeBSD 10.1-RELEASE (64 bit) with clang-3.4.1 1308 1309New user-visible features 1310------------------------- 1311- (build system) Python 3 is now supported by waf and test runner programs 1312- (wifi) 802.11ac Very High Throughput (VHT) physical layer modes are now 1313 supported. 1314- (internet) permanent (static) ARP entries can be created for IPv4 1315- (network) SimpleChannel allows per-NetDevice blacklists, in order to do hidden terminal testcases. 1316- (documentation) TracedCallback function signatures now documented in Doxygen 1317 1318Bugs fixed 1319---------- 1320- Bug 730 - Enabling fragmentation at run-time breaks simulation 1321- Bug 1249 - doxygen comments on device-level SetMobility () 1322- Bug 1482 - mesh module was producing fatal error with ASCII and netanim traces 1323- Bug 1557 - errors in function OpenFlowSwitchNetDevice::BufferFromPacket() 1324- Bug 1681 - m_lastNavStart is assigned twice continuously 1325- Bug 1736 - default dot11EDCATableMSDULifetime 1326- Bug 1901 - mesh module producing malformed pcaps 1327- Bug 1929 - TcpL4Protocol::Send must indicate the source address to routing (if known) 1328- Bug 1982 - AODV and mesh modules use random variables before seeds can be set 1329- Bug 2058 - TCP window update can shrink left edge of window 1330- Bug 2063 - FdNetDevice::SendFrom assert does not account for headers correctly 1331- Bug 2082 - Empirical RV fails if value provided in CDF function is negative 1332- Bug 2093 - MultiModelSpectrumChannel::GetDevice only works for 0-th index 1333- Bug 2096 - Wrong pcap information when MPDU aggregation is used 1334- Bug 2104 - Sequence Number passed to QosUtilsMapSeqControlToUniqueInteger instead of Sequence Control 1335- Bug 2108 - Erroneous implementation in InterferenceHelper 1336- Bug 2119 - Fix memory leaks in FdNetDevice test due to non-executed events 1337- Bug 2124 - UdpSocketImpl::ShutdownRecv doesn't stop the Ipv[4,6]EndPointDemux 1338- Bug 2125 - subclasses must chain up to base class NotifyNewAggregate 1339- Bug 2126 - LrWpanNetDevice silently accepts no mobility on the node 1340- Bug 2127 - Scheduler benchmark utility works in first run only 1341- Bug 2130 - Allow SimpleChannel to simulate hidden terminals 1342- Bug 2132 - TcpL4Protocol sends a bad-formatted RST packet 1343- Bug 2135 - TCP doesn't honor the socket's output interface 1344- Bug 2136 - The usage of tid in wifi and wave module shall be "if (tid > 7)" rather than "if (tid >= 7)" 1345- Bug 2138 - SimpleNetDevice could send overlapped packets 1346- Bug 2143 - maybe-uninitialized warning 1347- Bug 2146 - bug in WAVE channel coordination 1348- Bug 2148 - Ipv6Interface::SetUp doesn't re-create the Link-Local addresses 1349- Bug 2153 - Incorrect power limits in wifi power control algorithms 1350- Bug 2154 - Incorrect power calculation in wifi power adaptation examples 1351- Bug 2156 - Duplicate packets when using two level aggregation 1352- Bug 2157 - OpenFlowSwitchNetDevice::BufferFromPacket setting eth_type incorrectly 1353- Bug 2158 - OpenflowSwitchNetDevice flooding bug 1354- Bug 2165 - server replies to SYN (with option TS) with a SYNACK (with option TS) also if the attribute Timestamp is false 1355- Bug 2166 - SteadyStateRandomWaypointMobilityModel directs the node to the ground 1356- Bug 2170 - AnimationInterface outputs improperly formed XML 1357- Bug 2171 - power-adaptation-distance.cc:202:22: error: call to 'pow' is ambiguous 1358- Bug 2173 - WifiInformationElement::DeserializeIfPresent attempts to read beyond the end of buffer 1359- Bug 2174 - m_rWnd not updated when segments without ACK are received 1360- Bug 2177 - Ipv6ExtensionFragmentHeader length is initialized to a wrong value. 1361 1362Known issues 1363------------ 1364In general, known issues are tracked on the project tracker available 1365at http://www.nsnam.org/bugzilla/ 1366 1367Release 3.23 1368============ 1369 1370Availability 1371------------ 1372This release is available from: 1373http://www.nsnam.org/release/ns-allinone-3.23.tar.bz2 1374 1375Supported platforms 1376------------------- 1377This release has been tested on the following platforms: 1378- Ubuntu 15.04 (64 bit) with g++-4.9.2 1379- Fedora Core 21 (64 bit) with g++-4.9.2 1380- Ubuntu 14.04 (64 bit) with g++-4.8.2 1381- Ubuntu 12.04.4 (32/64 bit) with g++-4.6.3 1382- CentOS/RHEL 6.6 (64-bit) with g++-4.4.7 1383- OS X Yosemite 10.10.3 with Xcode 6.3.1 and Apple LLVM version 6.1.0 1384- FreeBSD 10.1-RELEASE (64 bit) with clang-3.4.1 1385 1386New user-visible features 1387------------------------- 1388- (network) CalculateTxTime has been declared obsolete. 1389 CalculateBytesTxTime and CalculateBitsTxTime are to be used instead. 1390 The return value is a Time, instead of a double. 1391- (mobility) Classes added for converting geographic to cartesian coordinates. 1392- (spectrum) TvSpectrumTransmitter models added to create television 1393 transmitter(s) that transmit PSD spectrums customized by attributes such 1394 as modulation type, power, antenna type, channel frequency, etc. 1395- (wifi) Several model improvements have been made. Access points now 1396 establish BSSBasicRateSet for control frame transmissions. PLCP header 1397 and payload reception have been decoupled for improved PHY modeling 1398 accuracy. RTS/CTS with A-MPDU is now fully supported, and 802.11n 1399 stations now support two-level aggregation. 1400 1401Bugs fixed 1402---------- 1403- Bug 1757 - RLC AM not using NACK_SN 1404- Bug 1974 - CalculateTxTime should return a Time, not a double 1405- Bug 1982 - AODV and mesh use random variables before seed can be set 1406- Bug 2004 - Wrong timeout calculation for 802.11n in WifiMac 1407- Bug 2008 - (lr-wpan) Crash if ending rx while status change is in progress 1408- Bug 2025 - (lr-wpan) Changing the channel doesn't affect the Tx params 1409- Bug 2034 - (lr-wpan) CSMA-CA BackoffPeriod is too short 1410- Bug 2054 - TCP window update can shrink the Left Edge of the window 1411- Bug 2066 - A-MPDU reception should check for successful preamble 1412- Bug 2067 - TCP performance when advertised window exceeds sender buffer size 1413- Bug 2070 - Wrong report of Packets and Bytes stored in CoDeL 1414- Bug 2073 - NDisc cache entries update timer might be stuck in a loop 1415- Bug 2075 - A-MPDU using RTS/CTS behaves wrongly when MaxSsrc is reached 1416- Bug 2076 - TCP MinRTO Attribute is not actually used 1417- Bug 2077 - Icmpv6L4Protocol::HandleDestinationUnreachable must check the packet size, not its serialized size 1418- Bug 2079 - mcs variable in ht-wifi-network example is confusing 1419- Bug 2082 - Empirical RV fails if the value provided in the CDF member function is negative 1420- Bug 2083 - BridgeNetDevice may send corrupted packets 1421- Bug 2087 - Waf fails to build ns-3 if the path contains accented characters 1422- Bug 2090 - (rip-ng) Routes may be added twice on interface activation 1423- Bug 2093 - MultiModelSpectrumChannel::GetDevice only works for 0-th index 1424- Bug 2095 - (wimax) Wrong values in default-traces.h for 16 QAM 3/4 1425- Bug 2097 - ACKs should be sent using legacy rates and preambles in 802.11n 1426- Bug 2103 - Ipv[4,6]RoutingHelper::PrintRoutingTableAll[At,Every] hangs if a node doesn't have IP 1427 1428Known issues 1429------------ 1430In general, known issues are tracked on the project tracker available 1431at http://www.nsnam.org/bugzilla/ 1432 1433Release 3.22 1434============ 1435 1436Availability 1437------------ 1438This release is available from: 1439http://www.nsnam.org/release/ns-allinone-3.22.tar.bz2 1440 1441Supported platforms 1442------------------- 1443This release has been tested on the following platforms: 1444- Fedora Core 21 (64 bit) with g++-4.9.2 1445- Ubuntu 14.10 (32 bit) with g++-4.9.1 1446- Ubuntu 14.04 (64 bit) with g++-4.8.2 1447- Ubuntu 12.04.4 (32/64 bit) with g++-4.6.3 1448- CentOS/RHEL 6.6 (64-bit) with g++-4.4.7 1449- OS X Yosemite 10.10 with Xcode 6.1.1 and clang-600.0.56 1450- FreeBSD 10.1-RELEASE (64 bit) with clang-3.4.1 1451 1452New user-visible features 1453------------------------- 1454- (wifi) Support for MPDU aggregation has been added to the wifi model, 1455 as well as a number of related example programs. 1456- (wifi) Added two combined power and rate control mechanisms to the 1457 wifi module. The new mechanisms, PARF and APARF, are the first in the 1458 wifi module to jointly control transmission power and data rate. Two use 1459 case examples (PowerAdaptationDistance and PowerAdaptationInterference) 1460 and a test case have also been added. 1461- (lte) In previous releases of the LTE module, the bearer release 1462 functionality was only partially supported. As an enhancement, a 1463 complete release bearer procedure is now implemented, which can be 1464 invoked by calling the new helper method 1465 LteHelper::DeActivateDedicatedEpsBearer(). The related output can be 1466 seen through the stats collected at different layers like PDCP, RLC, 1467 MAC, PHY. To support this implementation, an example and test suite is 1468 added within the LTE module examples and tests folder. 1469- (wave) Additional support has been added for WiFi-based vehicular networks, 1470 including the channel-access coordination features of IEEE 1609.4 and a 1471 comprehensive VANET routing example that includes a Basic Safety 1472 Message (BSM) packet generator application and associated statistics 1473 counters. Together, these allow users to evaluate the performance effects 1474 in a VANET of varying transmission and channel properties (e.g., packet 1475 rate, message size, transmit power, propagation loss model, impact of 1476 routing protocol traffic, etc.). 1477- (internet) It is now possible to print the Neighbor Cache (ARP and NDISC) 1478 by using the RoutingProtocolHelper 1479- (stats) A new TimeProbe class has been added to hook the data collection 1480 framework to traced values emitting Time objects 1481- (documentation) the callback function signatures for all TraceSources 1482 is documented in Doxygen 1483- (utils) print-introspected-doxygen.cc has had several enhancements; 1484 use -h to read the usage message for details. 1485- (core) TracedValue and TracedCallback function signatures are now documented, 1486 which required changing the TypeId::AddTraceSource API. 1487 1488Bugs fixed 1489---------- 1490- Bug 1405 - RttEstimator improvements 1491- Bug 1551 - NS_LOG_COMPONENT_DEFINE inside or outside of ns3 namespace? 1492- Bug 1726 - WiFi Minstrel rate control algorithm doesn't save state 1493- Bug 1734 - TcpSocketBase produces spurious delayed ACKs 1494- Bug 1758 - Yans and Nist error rate models for 5/6 code rate 802.11n HT 1495- Bug 1770 - mesh test and example crash for 32-bit optimized builds 1496- Bug 1774 - compute signal power around channel, not across whole band, and fix LrWpanHelper to add a default PropagationDelayModel 1497- Bug 1791 - TCP Endpoint never deallocates when closing 1498- Bug 1801 - Setting Wi-Fi timing parameters through WifiMac attributes (documentation fix) 1499- Bug 1906 - 802.11n PHY configuration for 2.4GHz and 5GHz devices 1500- Bug 1957 - UdpSocketImpl is stuck after a Close() 1501- Bug 1968 - Missing supported 802.11n HT rates in the WifiPhy constructor 1502- Bug 1969 - Support short guard interval durations in 802.11n 1503- Bug 1970 - Missing NotifyAckTimeoutStartNow in MacLow::StartDataTxTimers 1504- Bug 1971 - 802.11n at 2.4 GHz should include a signal extension duration 1505- Bug 1972 - CommandLine duplicate argument handling: documentation updated. 1506- Bug 1983 - FlowMonitor returns containers copies instead of references. 1507- Bug 1986 - test result divergence for lte-frequency-reuse test 1508- Bug 1991 - PcapFileWrapper::CaptureSize attribute (snaplen) has no effect. 1509- Bug 1995 - avoid multiple definitions of PI 1510- Bug 1996 - RSRQ calculation: misleading variable names 1511- Bug 1997 - Fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper 1512- Bug 2002 - Hardcoded include paths cause breakage 1513- Bug 2011 - Default Speed attribute in ConstantSpeedPropagationDelayModel 1514- Bug 2016 - Radvd do not consider the SendAdvert option and don't reply to RS 1515- Bug 2020 - Erroneous MCS field in 802.11n PCAP files 1516- Bug 2021 - Missing const qualifier in TopologyReader::Link::Attributes{Begin,End}() 1517- Bug 2026 - 802.11n Ness parameter badly set for data frames 1518- Bug 2027 - Calculation of HT training symbol duration does not accurately follow 802.11n standard 1519- Bug 2028 - remove unnecessary Time to double conversions in Wifi models 1520- Bug 2029 - new CQI generation approach fix 1521- Bug 2030 - provide default values for WifiTxVector 1522- Bug 2037 - HT capabilities may print bogus chars 1523- Bug 2038 - Stop method does not stop next wave in WaveformGenerator 1524- Bug 2042 - LTE a3-rsrp-handover-algorithm.cc: error: overflow in implicit constant conversion 1525- Bug 2043 - print-introspected-doxygen crashes when some modules are disabled 1526- Bug 2044 - Buffer::Iterator::ReadNtohU16() and ReadNtohU32() not implemented correctly 1527- Bug 2045 - Missing NS_OBJECT_ENSURE_REGISTERED in TcpTxBuffer and TcpRxBuffer 1528- Bug 2046 - set Block Ack timeout when SetStandard is called 1529- Bug 2047 - Ipv6EndPointDemux::Lookup may crash 1530- Bug 2049 - CQI feedback should always use the same calculation method 1531- Bug 2053 - In tcp-socket-base.cc, NotifyDataSent incorrectly called with retransmits 1532- Bug 2055 - TCP TxBuffer and RxBuffer traces don't work 1533- Nix-vector routing implementation now uses a lazy flush mechanism, 1534 which dramatically speeds up the creation of large topologies. 1535 1536Known issues 1537------------ 1538In general, known issues are tracked on the project tracker available 1539at http://www.nsnam.org/bugzilla/ 1540 1541Release 3.21 1542============ 1543 1544Availability 1545------------ 1546This release is available from: 1547http://www.nsnam.org/release/ns-allinone-3.21.tar.bz2 1548 1549Supported platforms 1550------------------- 1551- Fedora Core 20 (32/64 bit) with g++-4.8.2 1552- Ubuntu 14.04 (32/64 bit) with g++-4.8.2 1553- Ubuntu 12.04.4 (64 bit) with g++-4.6.3 1554- Ubuntu 10.04.4 LTS (64 bit) with g++-4.4.3 1555- CentOS/RHEL 6.5 (64-bit) with g++-4.4.7 1556- OS X Mavericks 10.9 with Xcode 5.1.1 and clang-503.0.40 1557- FreeBSD 9.2-RELEASE (64 bit) with clang-3.3 1558 1559New user-visible features 1560------------------------- 1561 1562- The LTE module now supports the transport of the S1-U, X2-U and X2-C 1563 interfaces over emulated links via the new helper class EmuEpcHelper. 1564- CommandLine can now provide a shorthand argument name for any 1565 Attribute. 1566- Implemented support for Frequency Reuse algorithms in LTE module, as the 1567 outcome of GSoC 2014 project. 1568 The project also includes several sub-features, such as: 1569 - implementation of Downlink Power Control 1570 - implementation of Uplink Power Control 1571 - new DL-CQI generation approach, which increases throughput if FR algorithms 1572 are used 1573 - seven options of Frequency Reuse algorithms: LteFrNoOpAlgorithm, 1574 LteFrHardAlgorithm, LteFrStrictAlgorithm, LteFrSoftAlgorithm, 1575 LteFfrSoftAlgorithm, LteFfrEnhancedAlgorithm, LteFfrDistributedAlgorithm 1576 - updated RadioEnvironmentMapHelper. Now RadioEnvironmentMap can be generated 1577 for Data or Control channel and for specified RbId, what is helpful when 1578 using FR algorithms 1579- Added a CoDel queue model. CoDel queues measure and control the queue 1580 traversal delay. The ns-3 implementation is a port of the Linux 1581 implementation. 1582- Added support for TCP timestamp and window scale options, and added 1583 ability to trace the TCP slow start threshold value. 1584- SimpleNetDevice and SimpleChannel (used for adding basic link effects 1585 for testing of higher-layer protocols) have been extended to support 1586 the option of broadcast or PointToPoint link semantics. The bandwidth 1587 and link delay can be constrained, and it uses an output queue. 1588- SimpleNetDevice and SimpleChannel can be installed in a node through 1589 a new helper: SimpleNetDeviceHelper. 1590- Implemented new PacketSocketServer and PacketSocketClient applications. 1591 The primary use is in tests, to avoid using the ones from the 1592 application module that also bring in a dependency on the internet module. 1593 1594Bugs fixed 1595---------- 1596 1597- Bug 1673 - Config::Set/Connect does not search for attributes in parent class 1598- Bug 1762 - UE stuck in IDLE_CONNECTING because RRC CONN REQ is not transmitted 1599- Bug 1811 - basic traffic generator for network module 1600- Bug 1824 - L4 protocol sockets should support BindToNetDevice over IPv6 1601- Bug 1831 - TcpSocket SlowStartThreshold is not a TraceSource 1602- Bug 1851 - WifiRadioEnergyModel energy consumption values are taken from a 802.15.4 chip 1603- Bug 1854 - std::out_of_range Problem 1604- Bug 1858 - wireless examples not correctly recording packet reception 1605- Bug 1860 - TCP needs the Window Scale option 1606- Bug 1893 - issue in DoSchedUlTriggerReq with harq 1607- Bug 1911 - AODV cannot work on nodes with more than one netdevice 1608- Bug 1921 - Icmpv6L4Protocol::ForgeEchoRequest returns a malformed packet 1609- Bug 1930 - Use of invalid reference in OLSR RemoveLinkTuple 1610- Bug 1932 - NdiscCache entry is not failsafe on double neighbor probing. 1611- Bug 1937 - FlowMonitor fails to track multiplexed packets 1612- Bug 1942 - refactoring of lte-sinr-chunk-processor -> lte-chunk-processor 1613- Bug 1943 - Waveform generator signal duration calc error 1614- Bug 1951 - AODV does not update nexthop for 1-hop nodes 1615- Bug 1955 - The IPv4 identification field should be unique per (source, destination, protocol) tuple 1616- Bug 1960 - Wrong information on index range, about Node::GetDevice 1617- Bug 1961 - planetlab-tap-creator "variable set but not used" 1618- Bug 1963 - AODV can tag the same packet twice (and raise an assert) 1619- Bug 1964 - Integer overflow on UniformRandomVariable::GetInteger() 1620- Bug 1967 - LL Multicast is not compressed in the right way in IPHC 1621- Bug 1981 - PyViz shell not compatible with ipython >= 0.11 1622 1623Known issues 1624------------ 1625- Bug 1770 - The mesh module will crash if used for g++ version >= 4.8.1 1626in optimized mode, on a 32-bit Linux machine. Lowering the optimization 1627level to -O1 in this case can be used as a workaround. 1628 1629Release 3.20 1630============= 1631 1632Availability 1633------------ 1634This release is available from: 1635http://www.nsnam.org/release/ns-allinone-3.20.tar.bz2 1636 1637Supported platforms 1638------------------- 1639- Fedora Core 20 (32/64 bit) with g++-4.8.2 1640- Ubuntu 14.04 (32/64 bit) with g++-4.8.2 1641- Ubuntu 12.04.4 (64 bit) with g++-4.6.3 1642- Ubuntu 10.04.4 LTS (64 bit) with g++-4.4.3 1643- CentOS/RHEL 6.5 (64-bit) with g++-4.4.7 1644- OS X Mavericks 10.9 with Xcode 5.1.1 and clang-503.0.40 1645- FreeBSD 9.2-RELEASE (64 bit) with clang-3.3 1646 1647New user-visible features 1648------------------------- 1649 1650- A new LrWpan model, providing initial support for IEEE 802.15.4 networks 1651- A new IPv6 routing protocol has been added: RIPng. This protocol is 1652 an Interior Gateway Protocol and it is available in the Internet module. 1653- A new LTE MAC downlink scheduling algorithm named Channel and QoS Aware (CQA) 1654 Scheduler is provided by the new ``ns3::CqaFfMacScheduler`` object. 1655- The Internet FlowMonitor can now track IPv6 packets. 1656- FlowMonitor no longer tracks multicast/broadcast packets, reflecting 1657 its original design. 1658- FlowMonitor "SerializeToXml" functions are now directly available 1659 from the helper. 1660- The SixLowPan model can now use uncompressed IPv6 headers. An option to 1661 define the minimum compressed packet size has been added. 1662- Simplify output of Times in a specific unit; see Time::As () 1663- Ipv6Extension::m_dropTrace has been removed. Ipv6L3Protocol::m_dropTrace 1664 is now fired when appropriate. 1665- IPv4 identification field value is now dependent on the protocol field. 1666- Fixes to support Python >= 3.3 in ns3 Python bindings 1667- Enable selection of high precision int64x64_t implementation 1668 at configure time, for debugging purposes. 1669 1670Bugs fixed 1671---------- 1672- Bug 1276 - optimize NistErrorRateModel 1673- Bug 1294 - New PeekU8 () and Read (Buffer::Iterator start, uint32_t size) methods in Buffer::Iterator 1674- Bug 1443 - MinDistance replaced by MinLoss in FriisPropagationLossModel, to 1675 better handle conditions outside of the assumed far field region. 1676- Bug 1653 - Extension of CommandLine interface: restored operator << (CommandLine) 1677- Bug 1717 - Detect unsettable attributes 1678- Bug 1730 - no model library documentation for spectrum module 1679- Bug 1739 - The endpoint is not deallocated for UDP sockets 1680- Bug 1786 - os << int64x64_t prints un-normalized fractional values 1681- Bug 1787 - Runtime error when using AnimationInterface::EnablePacketMetadata() to fetch metadata of CSMA packet 1682- Bug 1792 - Parameter logger constructor 1683- Bug 1808 - FlowMon relies on IPv4's Identification field to trace packets 1684- Bug 1817 - IPv4 Identification field should consider protocol as well. 1685- Bug 1818 - FlowMonitor needs IPv6 support 1686- Bug 1820 - models library doc: make should not rm -rf figures 1687- Bug 1821 - Setting an interface to Down state will cause various asserts in IPv6 1688- Bug 1829 - Multiple TCP socket entries 1689- Bug 1837 - AODV crashes when using multiple interfaces 1690- Bug 1838 - FlowMonitorHelper must not be copied. 1691- Bug 1841 - FlowMonitor fails to install if IPv4 is not installed in the node 1692- Bug 1842 - FlowMonitor SerializeToXml<Something> should be called by the helper 1693- Bug 1843 - IPv6 extensions dropped packets do not fire L3 drop trace 1694- Bug 1845 - FlowMonitor should discard any broadcast/multicast packet 1695- Bug 1846 - IPv6 should send Destination Unreachable if no route is available 1696- Bug 1850 - TCP NewReno loss behavior 1697- Bug 1852 - cairo-wideint-private.h error cannot find definitions for fixed-width integral types 1698- Bug 1853 - NS_LOG_FUNCTION broken on OSX 10.9 1699- Bug 1855 - SixLowPanNetDevice is not correctly indexed 1700- Bug 1857 - Detect location of installed boost libraries 1701- Bug 1862 - NS_LOG="Time=*|prefix_time" causes stack overflow 1702- Bug 1868 - Optimized builds are sensitive to -fstrict-overflow 1703- Bug 1870 - Remove unnecessary AsInt functions 1704- Bug 1872 - Inside RREQ processing, in case of IP duplication, packet dropped instead of being forwarded 1705- Bug 1873 - Energy source checked to be aggregated to the node 1706- Bug 1874 - Ipv4L3Protocol::ProcessFragment: addressCombination and idProto identifiers not properly computed 1707- Bug 1876 - enable OLSR HNA table access 1708- Bug 1877 - constructors missing for PropagationLossModels 1709- Bug 1882 - int64x64 tests trigger valgrind bug 1710- Bug 1883 - IPv6 don't consider the prefix and network when choosing output address 1711- Bug 1885 - WifiSpectrumValue5MhzFactory::CreateRfFilter does not align with the used 5Mhz SpectrumModel 1712- Bug 1887 - Point-to-point traces should contain PPP headers 1713- Bug 1888 - COST231 propagation loss model: corrections 1714- Bug 1889 - PointToPointNetDevice: In some cases MacTxDrop trace is not called 1715- Bug 1890 - UdpClientTrace: MPEG frame size is squeezed into (insufficient) 16 bit integer 1716- Bug 1891 - UdpSocketImpl::GetSockName doesn't return the IPv6 address 1717- Bug 1894 - CqaFfMacScheduler needs an update 1718- Bug 1895 - IP header Source Address changed while forwarding RREQ 1719- Bug 1900 - Avoid floating point differences across platforms in test outputs 1720- Bug 1903 - Namespace usage in olsr-state.cc/h 1721- Bug 1907 - Add IsSupportedMcs method in YansWifiPhy 1722- Bug 1912 - Avoid multiple Wifi MacTxMiddle instances 1723- Bug 1913 - Avoid crash in Wifi BlockAckManager::GetNextPacket() 1724- Bug 1915 - BRITE channel delay is rounded to an integer 1725- Bug 1916 - RandomWalk2dMobilityMode default "Bounds" attribute is not a rectangle 1726- Bug 1919 - Strip trailing semi-colons from mobility trace files 1727- Bug 1920 - Remove DSR attributes so file can be re-loaded by config-store 1728- Bug 1922 - WAVE GetSsid should not be fatal 1729- Bug 1923 - Setting Active Probing to false in Wifi Sta has no effect 1730- Bug 1924 - sensing radius and CCA 1731 1732Known issues 1733------------ 1734- Bug 1770 - The mesh module will crash if used for g++ version >= 4.8.1 1735in optimized mode, on a 32-bit Linux machine. Lowering the optimization 1736level to -O1 in this case can be used as a workaround. 1737 1738Release 3.19 1739============= 1740 1741Availability 1742------------ 1743This release is available from: 1744http://www.nsnam.org/release/ns-allinone-3.19.tar.bz2 1745 1746Supported platforms 1747------------------- 1748These platforms have been tested; others may work also: 1749- Fedora Core 20 (32 bit) with g++-4.8.2 1750- Fedora Core 19 (32/64 bit) with g++-4.8.1 1751- Ubuntu 13.10 (64 bit) with g++-4.8.1 1752- Ubuntu 12.04.3 (32/64 bit) with g++-4.6.3 1753- Ubuntu 10.04.4 LTS (64 bit) with g++-4.4.3 1754- OS X Mavericks 10.9 with Xcode 5.0.1 and clang-500.2.79 1755- OS X Mountain Lion 10.8.5 with Xcode 5 and g++-4.2.1 1756- FreeBSD 9.2-RELEASE (64 bit) with clang-3.3 1757 1758New user-visible features 1759------------------------- 1760- Extension to UE measurements and improved handover algorithm models in LTE 1761 module, as the outcome of GSoC 2013 project. The project also includes several 1762 sub-features, such as: 1763 - implementation of System Information Block Type 1 (SIB1); 1764 - a new option for automatic UE attachment using Idle mode cell selection 1765 procedure; 1766 - improved configurability of UE measurements; and 1767 - two options of handover algorithms for enabling automatic handover trigger 1768 in LTE simulation: A2-A4-RSRQ and strongest cell (A3-RSRP). 1769 1770- A new FixedRoomPositionAllocator has been added to the buildings 1771 module. It allows one to generate a random position uniformly 1772 distributed in the volume of a chosen room inside a chosen building. 1773 1774- A new attribute ns3::LteRlcAm::TxOpportunityForRetxAlwaysBigEnough 1775 allows to overcome the lack for re-segmentation in the RLC AM 1776 implementation by assuming that the size of a TxOpportunity is 1777 always big enough for the RLC AM PDU to be retransmitted. 1778 1779- After some profiling, the code of LteMiErrorModel has been optimized 1780 for speed, resulting in a significantly lower execution time of the 1781 LTE model when used with the error model enabled. 1782 1783- A new WiFi extension for vehicular simulation support is available in 1784 the src/wave directory. The current code represents an interim capability 1785 to realize an IEEE 802.11p-compliant device, but without the WAVE 1786 extensions (which are planned for a later patch). The WaveNetDevice 1787 modelled herein enforces that a WAVE-compliant physical layer (at 5.9 GHz) 1788 is selected, and does not require any association between devices (similar 1789 to an adhoc WiFi MAC), but is otherwise similar (at this time) to a 1790 WifiNetDevice. WAVE capabililties of switching between control and 1791 service channels, or using multiple radios, are not yet modelled. 1792 1793- A new IPv6 over Low power Wireless Personal Area Networks (6LoWPAN) model 1794 is available. Using ns-3's naming convention, the acronym is expanded 1795 to SixLowPanNetDevice. The SixLowPanNetDevice is able to act as a 1796 shim between IPv6 and a NetDevice, compressing IPv6 headers according 1797 to RFCs 4944 and 6262. The SixLowPanNetDevice is meant to be used over 1798 IEEE 802.15.4 NetDevices, but it can be used on other NetDevices as 1799 well (see the manual for full details). This model precedes the 1800 general availability of an 802.15.4 model, so must be run in conjunction 1801 with a wired NetDevice model for now, or with experimental versions of 1802 802.15.4 models. 1803 1804- It is now possible to use Ipv6PacketInfoTag from UDP applications in the 1805 same way as with Ipv4PacketInfoTag. See Doxygen for current limitations in 1806 using Ipv[4,6]PacketInfoTag to set IP properties. 1807 1808- Ipv[4,6]Interfaces not respecting the minimum MTU requirements (68 octects 1809 for IPv4 and 1280 octects for IPv6) will be automatically set as Down. 1810 1811- IPv6 addresses and routing tables are printed in a more conventional way, 1812 closely matching the Linux "route -A inet6" command. 1813 1814- Additional time units (Year, Day, Hour, Minute) were added to the time 1815 value class that represents simulation time; the largest unit prior to 1816 this addition was Second. 1817 1818- A new parallel scheduling algorithm based on null messages, a common 1819 parallel DES scheduling algorithm, has been added. The null message 1820 scheduler has better scaling properties when running on some scenarios 1821 with large numbers of nodes since it does not require a global 1822 communication. 1823 1824Bugs fixed 1825---------- 1826- Bug 1496 - Option to print log level in NS_LOG messages, and documentation. 1827- Bug 1592 - Parsing bug in FlowMonitor example script 1828- Bug 1756 - RLC AM Mode State Variable Bug 1829- Bug 1763 - Message 3 should be sent using the UL GRANT in the RAR 1830- Bug 1778 - Implement TapBridge::IsLinkUp() function 1831- Bug 1777 - Implement the more direct way of "using" configuration of existing tap interface 1832- Bug 1776 - Improve CRC performance for CsmaNetDevice in emulation modes 1833- Bug 1788 - unused private field warning 1834- Bug 1789 - missing test condition for sigma in buildings-shadowing-test 1835- Bug 1796 - Ipv6PacketInfoTag is not filled by UdpSocketImpl::ForwardUp6 1836- Bug 1798 - Changing the rate of onOffApplication might stop transmission 1837- Bug 1802 - FlowMon header deserialization problem with IPv4 fragments 1838- Bug 1803 - Lookup /NodeList/4/DeviceList/0/LteEnbRrc/UeMap/0 got no matches 1839- Bug 1807 - Multiple bugs in Ipv4L3Protocol::LocalDeliver 1840- Bug 1810 - IP packets can be sent on NetDevices not respecting the minimum MTU requirements 1841- Bug 1814 - IPv6 Packet with length not multiple of 8 bytes are fragmented incorrectly. 1842- Bug 1815 - Python bindings compilation with clang compiler toolchain 1843- Bug 1816 - IPv4 fragmentation loses Packet tags 1844- Bug 1877 - constructor missing for <something>PropagationLossModels 1845 1846Release 3.18.2 1847============== 1848 1849ns-allinone-3.18.2 was released to include a bake configuration file update 1850for Direct Code Execution. The ns-3 code in this release was unchanged 1851from that of ns-3.18.1. 1852 1853Release 3.18.1 1854============== 1855 1856This release is mainly to provide updated compiler support (clang/LLVM) 1857and fix the Python API scanning facility. A few additional bug fixes 1858and new features are described below. 1859 1860Availability 1861------------ 1862This release is available from: 1863http://www.nsnam.org/release/ns-allinone-3.18.1.tar.bz2 1864 1865Supported platforms 1866------------------- 1867These platforms have been tested; others may work also: 1868- Fedora Core 19 (32/64 bit) with g++-4.8.1 1869- Ubuntu 13.10 (64 bit) with g++-4.8.1 1870- Ubuntu 12.04.3 (32/64 bit) with g++-4.6.3 1871- Ubuntu 10.04.4 LTS (64 bit) with g++-4.4.3 1872- OS X Mavericks 10.9 with Xcode 5.0.1 and clang-500.2.79 1873- OS X Mountain Lion 10.8.5 with Xcode 5 and g++-4.2.1 1874- FreeBSD 9.2-RELEASE (64 bit) with clang-3.3 1875 1876New user-visible features 1877------------------------- 1878- It is now possible to randomize the time of the first beacon from an 1879 access point. Use an attribute "EnableBeaconJitter" to enable/disable 1880 this feature. 1881- A new FixedRoomPositionAllocator helper class is available; it 1882 allows one to generate a random position uniformly distributed in the 1883 volume of a chosen room inside a chosen building. 1884- Logging wildcards: allow "***" as synonym for "*=**" to turn on all logging. 1885- The log component list ("NS_LOG=print-list") is now printed alphabetically. 1886 1887Bugs fixed 1888---------- 1889- Bug 1779 - NS_UNUSED_GLOBAL not working in attribute test class declaration 1890- Bug 1766 - Fixes to wifi-hidden-terminal.cc example 1891- Bug 1722 - Avoid transmitting beacons concurrently 1892- Bug 1691 - RTS/CTS NAV reset prematurely 1893- Bug 1622 - Avoid waf hanging during apiscan 1894- Bug 1616 - WifiPhyStateHelper reports false CCA_BUSY times at State trace source 1895- Bug 1552 - Storing log name inside LogComponent class (NS_LOG) as std::string 1896- Bug 1011 - assert failed. file=../src/devices/wifi/dcf-manager.cc 1897- bug 945 - remove deprecated IEEE 802.11p code from wifi module 1898- Fix aliasing bug in optimized static builds 1899- Fix memory leak due to circular reference in MPI module 1900- Make wifi tests more robust to random variable perturbations 1901- Fix Time class doxygen 1902- Fix compilation with Clang 3.2 and newer versions, including Apple Xcode 5 1903- Miscellaneous NetAnim fixes 1904 1905Release 3.18 1906============= 1907 1908Availability 1909------------ 1910This release is available from: 1911http://www.nsnam.org/release/ns-allinone-3.18.tar.bz2 1912 1913Supported platforms 1914------------------- 1915These platforms have been tested; others may work also: 1916- Fedora Core 18 (32/64 bit) with g++-4.7.2 1917- Fedora Core 17 (32/64 bit) with g++-4.7.0 1918- Ubuntu 13.04 (32/64 bit) with g++-4.7.3 1919- Ubuntu 12.04 (32/64 bit) with g++-4.6.3 1920- Ubuntu 10.04.4 LTS (64 bit) with g++-4.4.3 1921- OS X Mountain Lion 10.8.3 with g++-4.2.1 1922- FreeBSD 9.1-RELEASE (64 bit) with g++-4.2.1 1923 1924New user-visible features 1925------------------------- 1926- Time attributes can now be bounded. See attribute-test-suite.cc for an 1927 example. 1928- Data collection components have been added to the stats module. These 1929 components can be used to generate time series data in files and plots. 1930- IPv6 address class 2001:db8::/32 is now dropped by routers (RFC 3849). 1931- New generic hash function interface. Two hash functions are provided: 1932 murmur3 (default), and the venerable FNV1a. See the Hash Functions 1933 section in the Manual. 1934- New Mac16Address has been added, Mac64Address is now in-line with 1935 Mac48Address and all the three can be used in IPv6 autoconfigure. 1936- Previously, the use of Building models was limited to the use of the 1937 companion BuildingsMobilityModel. Now, any MobilityModel can be 1938 used with Building models. 1939- The latest LTE module code by the LENA project has been merged, 1940 including the following new features: 1941 - PHY support for UE measurements (RSRP and RSRQ) 1942 - RRC support for UE measurements (configuration, execution, reporting) 1943 - Automatic Handover trigger based on RRC UE measurement reports 1944- IPv6 can now detect and use Path-MTU. See 1945 examples/ipv6/fragmentation-ipv6-two-MTU.cc for an example. 1946- Radvd application have a new Helper. See the updated 1947 examples/ipv6/radvd.cc for an example. 1948- 11n- It is now possible to create a high throughput (HT) node that used the new 11n data rates and preambles. 1949- It is now possible to request printing command line arguments to the 1950 desired output stream using PrintHelp or operator << 1951 1952Bugs fixed 1953---------- 1954- Bug 760 - IP address removal can be painful 1955- Bug 1190 - Suppress hello if bcast was sent within the last hello interval 1956- Bug 1296 - Enhancement in Ipv[4,6]RoutingHelper 1957- Bug 1390 - ICMPv6 Redirect are handled correctly only for /64 networks 1958- Bug 1522 - Hidden node scenario leads to ARP failure 1959- Bug 1584 - Old Association Request Timeouts are not canceled 1960- Bug 1629 - Make AODV Default to Disable Hello 1961- Bug 1643 - NdiscCache creation and existence checks 1962- Bug 1646 - ICMPv6 Redirect are sent from global address instead of link-local 1963- Bug 1662 - m_type not set for Ipv6OptionRouterAlertHeader 1964- Bug 1678 - C++11 compliance problem with std::pair" 1965- Bug 1682 - ./waf crashes on FC10 1966- Bug 1683 - IPv6 autoconfigured don't use *infinite* lifetimes 1967- Bug 1669 - ns-3 should support binding two and three (possibly more) arguments 1968- Bug 1675 - Throughput computation error in Wireless examples 1969- Bug 1687 - wscript features report doesn't respect NOCOLOR 1970- Bug 1688 - Routers should advertise themselves from the link-local address 1971- Bug 1689 - IPv6 shouldn't add a default gateway without checking the Router lifetime 1972- Bug 1690 - missing header files from wifi wscript 1973- Bug 1697 - ICMPv6 Redirect trigger contains multiple bugs 1974- Bug 1698 - mobility.SetPositionAllocator misses prefix "ns3::" 1975- Bug 1700 - Ipv6RawSocket does not honor the bound address when sending packets 1976- Bug 1701 - Ipv6StaticRouting: the source address should match the destination scope 1977- Bug 1702 - Ipv6InterfaceContainer::SetRouter should not always add the router as the default router. 1978- Bug 1703 - Nodes don't react to a DAD 1979- Bug 1712 - The IP (v4 and v6) forwarding needs a test 1980- Bug 1718 - Ipv4StaticRouting log component is misspelled 1981- Bug 1720 - IPv6 Fragmentation cause crashes 1982- Bug 1721 - Path MTU isn't handled properly 1983- Bug 1723 - name clash in ipv4-header.h with <termios.h> 1984- Bug 1727 - Ping6 should use a proper source address 1985- Bug 1728 - Radvd application is missing an Helper 1986- Bug 1731 - lte-phy-error-model passes unexpectedly 1987- Bug 1738 - strict aliasing compiler bug 1988- Bug 1742 - IPv6 HbH and Dst Extension Header size is not correctly calculated 1989- Bug 1752 - RadvdInterface m_defaultLifeTime is set to milliseconds instead of seconds 1990- Bug 1753 - Halting Issue with DistributedSimulatorImpl 1991- Bug 1754 - Missing GIL lock in generated callback destructor 1992 1993Known issues 1994------------ 1995In general, known issues are tracked on the project tracker available 1996at http://www.nsnam.org/bugzilla/ 1997 1998Release 3.17 1999============ 2000 2001Availability 2002------------ 2003This release is available from: 2004http://www.nsnam.org/release/ns-allinone-3.17.tar.bz2 2005 2006Supported platforms 2007------------------- 2008These platforms have been tested; others may work also: 2009- Fedora Core 18 (32/64 bit) with g++-4.7.2 2010- Fedora Core 17 (32/64 bit) with g++-4.7.0 2011- Ubuntu 13.04 (32/64 bit) with g++-4.7.3 2012- Ubuntu 12.10 (32/64 bit) with g++-4.6.3 2013- Ubuntu 12.04 (32/64 bit) with g++-4.6.3 2014- Ubuntu 10.04.4 LTS (64 bit) with g++-4.4.3 2015- OS X Mountain Lion 10.8.3 with g++-4.2.1 2016- FreeBSD 9.1-RELEASE (64 bit) with g++-4.2.1 2017 2018New user-visible features 2019------------------------- 2020- new TCP Westwood and Westwood+ models 2021- new FdNetDevice model and associated helpers. The FdNetDevice is able 2022 to read and write from a file descriptor. Various helpers are provided 2023 to associate this descriptor with underlying devices or sockets on the 2024 host operating system, including a packet socket for emulation, and 2025 tap devices including a version specialized for use on PlanetLab. 2026- ns-3-click: it's now possible to (i) have Click pull random numbers from 2027 ns-3 and (ii) have ns-3 set "defines" in Click via the simulation file 2028 (see src/click/examples/nsclick-defines.cc). 2029- Waf shipped with ns-3 has been upgraded to version 1.7.10 and custom 2030 pkg-config generator has been replaced by Waf's builtin tool. 2031- create-module.py script has been updated to work with waf 1.7 and support 2032 for creating modules with names containing dashes has been added. 2033- the M5 release of the LTE module by the LENA project has been 2034 merged; please see src/lte/RELEASE_NOTES for more detailed info 2035 2036Bugs fixed 2037---------- 2038- bug 1256 - Unnecessary SND.NXT advance, missing ACK for Out of Order segments 2039- bug 1318 - Ipv6L3Protocol::LocalDeliver can get stuck in an infinite loop 2040- bug 1409 - Add an attribute "SystemId" to configure the ID for MPI 2041- bug 1421 - Frequency dependent propagation loss models need uniform Frequency / Lambda attribute 2042- bug 1434 - DSR throughput not comparable to other protocols for manet example 2043- bug 1502 - Shutdown on tcp socket seems to misbehave 2044- bug 1503 - BlockAckManager infine loop 2045- bug 1517 - Waf clean/distclean doesn't remove the doc/html directory 2046- bug 1540 - Waf not finding click libraries 2047- bug 1549 - Test for NS_LOG 2048- bug 1556 - Uses of htonl making OpenFlow's match field error 2049- bug 1563 - Reduce valgrind test scope 2050- bug 1564 - Packet meta data isn't shown in dumbbell-animation.xml 2051- bug 1566 - WiFi SNR tag improvements 2052- bug 1568 - Deserialized addresses are implicitly marked as Mac48Address 2053- bug 1569 - droptail_vs_red example doesn't run 2054- bug 1570 - Valgrind errors in new test examples 2055- bug 1574 - Node color overwritten, by mobility updates in netanim 2056- bug 1575 - Invert the y-axis in netanim 2057- bug 1576 - Frequency units HERTZ and MEGAHERTZ mix up 2058- bug 1577 - Typo in ascii picture in example aodv script 2059- bug 1579 - edca-txop-n fragmentation causes segfault 2060- bug 1582 - IPv6 raw socket return value is not like Linux socket 2061- bug 1585 - Length field of A-MSDU subframe header endianness 2062- bug 1586 - Building documentation fails if make runs in parallel 2063- bug 1588 - UdpEchoServer::HandleRead logs fail when using Ipv6 2064- bug 1589 - Bake - support pre-2.7 version of python 2065- bug 1590 - Bake - more autotools version support 2066- bug 1595 - Function declarations without implementations cause problems with dsr module's python bindings 2067- bug 1596 - Inet TopologyReader is skipping one link and duplicating another one 2068- bug 1600 - Icmpv6OptionLinkLayerAddress can only carry 48 bit addresses correctly 2069- bug 1601 - RttEstimator doesn't set the m_currentEstimatedRtt to m_initialEstimatedRtt on creation 2070- bug 1602 - waf build can break due to file collisions in higher-level directory 2071- bug 1603 - random-variable-stream-helper - this unavalable for static member functions 2072- bug 1607 - OnOffApplication over TCP with IPv6 support 2073- bug 1608 - DSR Network ACK is not handled correctly 2074- bug 1609 - Route Request table is needed 2075- bug 1612 - pyviz (visualizer) will not be installed 2076- bug 1613 - Can't build ns-3-dev with g++ 4.7.2 2077- bug 1615 - Adjusting OLSR HelloInterval Attribute results in no links 2078- bug 1618 - bake.py not detecting install of libxml2-dev on ubuntu 2079- bug 1623 - pybindgen rev809 is not able to build after Ubuntu 1210 2080- bug 1625 - ns-3-dev fails to build on Debian wheezy amd64 2081- bug 1626 - ipv6-only network can't use UDP or TCP 2082- bug 1632 - Prepend bake build directory to the guessed locations 2083 that waf will look to find libraries 2084- bug 1633 - Bake - should not report that it is downloading qt4 when it is already installed 2085- bug 1635 - Small bug without Simulator::Destroy() 2086- bug 1636 - Compilation error flagged as unmet dependency 2087- bug 1637 - Bake calling apt-get for unpriviledged user 2088- bug 1639 - bake.py support for linux mint 2089- bug 1640 - bake needs to test for g++ 2090- bug 1641 - bake reports autotools dependency, but needs automake 2091- bug 1661 - Variable ub1 defined but not used in ipv6-address.cc 2092 2093Known issues 2094------------ 2095In general, known issues are tracked on the project tracker available 2096at http://www.nsnam.org/bugzilla/ 2097 2098Release 3.16 2099============ 2100 2101Availability 2102------------ 2103This release is available from: 2104http://www.nsnam.org/release/ns-allinone-3.16.tar.bz2 2105 2106Supported platforms 2107------------------- 2108- Fedora Core 17 (32/64 bit) with g++-4.7.0 2109- Fedora Core 15 (64 bit) with g++-4.6.3 2110- Ubuntu 12.10 (32/64 bit) with g++-4.6.3 2111- Ubuntu 12.04 (32/64 bit) with g++-4.6.3 2112- Ubuntu 10.04.4 LTS (64 bit) with g++-4.4.3 2113- OS X Mountain Lion 10.8.3 with g++-4.2.1 2114- FreeBSD 8.2 (32 bit) with g++-4.2.1 2115- Cygwin 1.7.9-1 with g++-4.5.3 2116 2117New user-visible features 2118------------------------- 2119- Support several new LTE MAC schedulers developed in GSoC 2012 project. 2120 Those schedulers include FD-MT, TD-MT, TTA, FD-BET, TD-BET, FD-TBFQ, 2121 TD-TBFQ, PSS. Here, FD and TD mean frequency domain and time domain 2122 respectively. 2123- It's now possible to use distcc when building ns-3 by using 2124 $ CXX='distcc g++' ./waf configure 2125 $ ./waf build 2126- Support topology generation with the (external) BRITE topology generation 2127 tool 2128 2129Bugs fixed 2130---------- 2131- bug 555 - DCF immediate access 2132- bug 976 - wifi-wired-bridging regression test fails because of 2133 rounding errors in mobility model 2134- bug 1055: Wrong UAN's Thorp absorption loss model formula 2135- bug 1284 - ./test.py performance tests do not exist 2136- bug 1324 - ns3tcp-cwnd-test-suite.cc test failing 2137- bug 1340 - ns3tcp-loss-suite.cc tests failing 2138- bug 1342 - ns3tcp-cwnd-test-suite.cc tests failing 2139- bug 1345 - ns-3 builds with clang compiler >= 3.0 2140- bug 1359 - TCP cannot receive ICMP 2141- bug 1361 - Set TOS from Application level (sockets) 2142- bug 1463 - ./test.py --example should automatically detect the path 2143- bug 1479 - When the Ipv4RawSocket "IpHeaderInclude" Attribute set true, 2144 Ip Checksum error 2145- bug 1485 - Setting global properties in config file (raw text) does 2146 not have any effect 2147- bug 1493 - test.py --list should show the test type default tip 2148- bug 1493 - test.py --list should show the test type 2149- bug 1494 - test.py --constrain doesn't work 2150- bug 1495 - test.py claims test passed when no test was run 2151- bug 1506: TCP data segment piggybacking acknowledgment 2152- bug 1509 - RttEstimator returns invalid value in presence of errors 2153- bug 1516 - GtkConfigStore does not show read-only attributes 2154- bug 1520 - Config paths not fully documented (partial fix) 2155- bug 1524 - Fragmentation Threshold equals to Packet Size at MAC Layer 2156 (Data + IP + UDP) crash the reception 2157- bug 1525 - Linker error with mpi on Mac 10.8 2158- bug 1526: Wrong calculation of pathloss within 2159 UanPropModelThorp::GetPathLossDb 2160- bug 1527 - Ipv4RawSocket's BindToNetDevice not working 2161- bug 1528 - BindToNetDevice not working for IPv6 sockets 2162- bug 1531 - Crash when using NS_LOG in destructors of static objects 2163- bug 1532 - unimplemented LTE Scheduler methods 2164 2165Known issues 2166------------ 2167In general, known issues are tracked on the project tracker available 2168at http://www.nsnam.org/bugzilla/ 2169 2170Release 3.15 2171============ 2172 2173Availability 2174------------ 2175This release is available from: 2176http://www.nsnam.org/release/ns-allinone-3.15.tar.bz2 2177 2178Supported platforms 2179------------------- 2180- Fedora Core 17 (32/64 bit) with g++-4.7.0 2181- Fedora Core 15 (64 bit) with g++-4.6.3 2182- Ubuntu 12.04 (32/64 bit) with g++-4.6.3 2183- Ubuntu 10.04.4 LTS (64 bit) with g++-4.4.3 2184- OS X Mountain Lion 10.7.4 with g++-4.2.1 2185- OS X Snow Leopard 10.6.8 with g++-4.2.1 2186- FreeBSD 8.2 (32 bit) with g++-4.2.1 2187- Cygwin 1.7.9-1 with g++-4.5.3 2188 2189New user-visible features 2190------------------------- 2191- A new random variable base class called 'RandomVariableStream', has been 2192 introduced. This base class derives from ns3::Object, unlike the current 2193 'RandomVariable' class which is a special type of object in the ns-3 2194 system to date. By making this class derive from ns3::Object, it can be 2195 handled with the Ptr class, can carry attributes, and can have its parameters 2196 and initial state saved in the config-store subsystem. A new attribute 2197 called "Stream" has been introduced for this class, to allow users to 2198 better control the assignment of underlying pseudo-random sequences to 2199 the RandomVariableStream objects (bug 101). 2200 2201Bugs fixed 2202---------- 2203 - bug 101 - random variable initialization 2204 - bug 1256 - Unnecessary SND.NXT advance, missing ACK for Out of Order segments 2205 - bug 1308 - Nix-vector; do not process packets to self 2206 - bug 1386 - assert if PositionAllocator not provided to 2207 RandomWaypointMobilityModel 2208 - bug 1399 - TCP not backing off retransmissions properly 2209 - bug 1441 - IPv4 header length handling 2210 - bug 1464 - ConfigStore Save + Load => Could not set default value 2211 for ns3::UdpSocketImpl::IcmpCallback 2212 - bug 1470 - define default parameter for constructor in .h file 2213 - bug 1473 - GetQueue/SetQueue missing from Csma python bindings 2214 - bug 1475 - "test.py --list" should sort the output 2215 - bug 1476 - TestCase::GetName () should not be private 2216 - bug 1477 - Click doesn't work with raw sockets 2217 - bug 1481 - Openflow example doesn't run 2218 - bug 1486 - Segfaults in nix-vector-routing with bridges 2219 - bug 1489 - Jakes Log component is missing 2220 - fixed bug with multiple LCs in UL BSR 2221 - fixed bug with lena-dual-stripe crashes with --homeUesHomeEnbRatio=2 2222 2223Known issues 2224------------ 2225In general, known issues are tracked on the project tracker available 2226at http://www.nsnam.org/bugzilla/ 2227 2228Release 3.14.1 2229============== 2230 2231Availability 2232------------ 2233This release is available from: 2234http://www.nsnam.org/release/ns-allinone-3.14.1.tar.bz2 2235 2236Bugs fixed 2237---------- 2238This hotfix release contains a fix for the PyViz visualizer and makes it 2239easier to add PyViz support to examples; otherwise it is the same as the 2240ns-3.14 release. 2241 2242Release 3.14 2243============ 2244 2245Availability 2246------------ 2247This release is available from: 2248http://www.nsnam.org/release/ns-allinone-3.14.tar.bz2 2249 2250Supported platforms 2251------------------- 2252ns-3.14 has been tested on the following platforms. Not all features are 2253available on all platforms; check the Installation page on the project wiki. 2254 2255- Fedora Core 17 (32/64 bit) with g++-4.7.0 2256- Fedora Core 16 (32/64 bit) with g++-4.6.3 2257- Fedora Core 15 (64 bit) with g++-4.6.3 2258- Ubuntu 12.04 (32/64 bit) with g++-4.6.3 2259- Ubuntu 11.10 (32 bit) with g++-4.6.1 2260- Ubuntu 10.04.4 LTS (64 bit) with g++-4.4.3 2261- OS X Lion 10.7.4 with g++-4.2.1 2262- OS X Snow Leopard 10.6.8 with g++-4.2.1 2263- FreeBSD 8.2 (32 bit) with g++-4.2.1 2264- Cygwin 1.7.9-1 with g++-4.5.3 2265 2266New user-visible features 2267------------------------- 2268- Transport protocol implementations (TCP, UDP) have been refactored to 2269 support also IPv6 connections. Dual-stacked IPv6 sockets are implemented. 2270 An IPv6 socket can accept an IPv4 connection, returning the sender's 2271 address as an IPv4-mapped address (IPV6_V6ONLY socket option is not 2272 implemented). 2273- The LTE code from the LENA project has been merged, bringing in a 2274 significant redesign of the LTE module as well as many new features. 2275- An antenna module is now included, which includes different 2276 radiation pattern models. See the corresponding new section of the 2277 ns-3 models library documentation for details. 2278- A new buildings module is introduced which allows to model the 2279 presence of buildings in a wireless network topology. 2280- New propagation models (OkumuraHata, ITU-R P.1411, ITU-R P.1238) 2281 have been added 2282- The Dynamic Source Routing (DSR) MANET routing protocol for IPv4 was added. 2283- A Random Early Detection (RED) queue model has been added. 2284- Ipv6RoutingHelper is now in-line with Ipv4RoutingHelper concerning the RT 2285 print functions. Various minor changes were made in Ipv6RoutingProtocol and 2286 derived classes to make this possible. 2287- New "SendIcmpv6Redirect" attribute (and getter/setter functions) to 2288 Ipv6L3Protocol. The behavior is similar to Linux's conf "send_redirects", 2289 i.e., enable/disable the ICMPv6 Redirect sending. 2290- Longer and more descriptive names are used for error units in RateErrorModel 2291 class and queue mode in Queue class. Attributes in those classes are also 2292 changed for consistency. See API documentation for details. 2293- The netanim animator is now bundled with the release. 2294 2295Bugs fixed 2296---------- 2297 - bug 603 - Simulator::Next is useless 2298 - bug 631 - RealtimeSimulatorImpl does not handle Ctrl-C with python bindings 2299 - bug 962 - list of paths to reach objects contains bogus entries 2300 - bug 1000 - Make RealtimeSimulatorImpl last until stop 2301 - bug 1053 - Need better error diagnostics in ns2-mobility-trace example 2302 - bug 1109 - Point out the effects of ArpCache::PendingQueueSize 2303 - bug 1179 - Add LTE trace hooks for supporting visualizer 2304 - bug 1180 - LTE: Add TX/RX trace support 2305 - bug 1273 - Better error message on missing Python development files 2306 - bug 1282 - Sleep state and CCA 2307 - bug 1283 - PacketSocket::SendTo should return number of bytes 2308 - bug 1302 - Flow monitor bug 2309 - bug 1304 - Tag information changed after transmission 2310 - bug 1313 - Stddev (average.h) returning NaN 2311 - bug 1318 - Asserts for IPv6 malformed packets 2312 - bug 1319 - Fix Ipv6RawSocketImpl Icmpv6 filter 2313 - bug 1325 - Python examples get valgrind errors when build subdirectories 2314 are specified in waf 2315 - bug 1339 - test.py uses the old name for the test runner 2316 - bug 1348 - python bindings: deprecated conversion from string constant 2317 to ‘char*’ 2318 - bug 1349 - TypeId.LookupAttributeByName Python bindings missing 2319 - bug 1350 - Simulator.ScheduleWithContext Python binding missing 2320 - bug 1351 and 1333 - TCP not able to take RTT samples on long delay network 2321 - bug 1352 - Fixed MapAttributes, previously was mapped to a vector in 2322 ObjectPtrContainer and (and key information was dropped). 2323 Now the container is a map. 2324 - bug 1354 - Building scratch subdir programs is broken 2325 - bug 1355 - Visualizer dependencies not detected at buildtime 2326 - bug 1357 - IPv6 fragmentation fails due to checks about malformed extensions 2327 - bug 1362 - ICMPv6 does not forward ICMPs to upper layers (and minor 2328 fixes to ICMPv6) 2329 - bug 1376 - wrong wind variable's name 2330 - bug 1378 - UdpEchoClient::SetFill () does not set packet size correctly 2331 - bug 1379 - lte-multiple-flows example crashes 2332 - bug 1380 - lte-phy-uplink example crashes 2333 - bug 1391 - .ns3rc does not allow comments as expected 2334 - bug 1392 - Modules built report does not clarify C++ or Python 2335 - bug 1393 - IPv6 Routing Helper RT Print functions 2336 - bug 1395 - AODV DeferredRouteOutputTag missing constructor 2337 - bug 1396 - ARP with hardware addresses longer than 6 bytes 2338 - bug 1399 - TCP not backing off retransmissions properly 2339 - bug 1404 - Bound user input in tutorial third.cc program 2340 - bug 1406 - waf exits with maximum recursion depth exceeded 2341 - bug 1415 - examples-to-run.py doesn't work with command line arguments 2342 - bug 1420 - no python bindings for csma-layout 2343 - bug 1441 - IPv4 header length handling 2344 2345Known issues 2346------------ 2347In general, known issues are tracked on the project tracker available 2348at http://www.nsnam.org/bugzilla/ 2349 2350Release 3.13 2351============== 2352 2353Availability 2354------------ 2355This release is available from: 2356http://www.nsnam.org/release/ns-allinone-3.13.tar.bz2 2357 2358Supported platforms 2359------------------- 2360ns-3.13 has been tested on the following platforms. Not all features are 2361available on all platforms; check the Installation page on the project wiki. 2362 2363- Ubuntu 11.10 (32 bit) with g++-4.5.2 2364- Ubuntu 11.04 (32/64 bit) with g++-4.5.2 2365- Ubuntu 10.04.3 LTS (64 bit) with g++-4.4.3, g++-3.4.6 2366- OS X Lion with g++-4.2.1 2367- OS X Snow Leopard with g++-4.2.1 2368- Fedora Core 16 (32/64 bit) with g++-4.6.2 2369 -- however, g++-3.4.6 fails on Fedora 16 i686 2370- Fedora Core 14 (64 bit) with g++-4.5.1 2371- FreeBSD 9.0-RC1 (AMD64) with g++-4.2.1 2372 2373New user-visible features 2374------------------------- 2375- IPv6 address generator with support for duplicate address detection 2376 2377Bugs fixed 2378---------- 2379 - bug 962 - list of paths to reach objects contains bogus entries 2380 - bug 1001 - Buffer::CopyData() doesn't return the number of bytes copied 2381 - bug 1010 - Uan model sleep patch 2382 - bug 1020 - Wrong usage of the originator sequence number in HWMP PREP 2383 - bug 1021 - Beacon collision avoidance in Mesh module works incorrectly 2384 - bug 1039 - Nagle's algorithm in TCP 2385 - bug 1055 - Wrong UAN's Thorp absorption loss model formula 2386 - bug 1059 - Unable to load trace files created from SUMO and TraNS Lite 2387 - bug 1112 - Advance m_nextTxSequence upon retransmit after RTO 2388 - bug 1137 - mpi module is hard-coded for openmpi 2389 - bug 1166 - IPV4 TCP failed to send a RST when connect arrives before listen 2390 - bug 1186 - Ipv4Header lacks DSCP and ECN 2391 - bug 1204 - Can't Parse Time +100000000.0ns 2392 - bug 1219 - Coding style of ns2-mobility-helper-test-suite.cc is fixed 2393 - bug 1257 - waf install __init__ Python files even with --disable-python 2394 - bug 1263 - waf configure fails on FreeBSD 9.0-BETA2 amd64 2395 - bug 1266 - gdb cannot be loaded 2396 - bug 1227 - Spurious RTO due to low min RTO 2397 - bug 1229 - Multiplication overflow in WaypointMobilityModel::EndMobility 2398 - bug 1242 - m_lastRtt in tcp-socket-base.cc not implemented 2399 - bug 1256 - TCP unnecessary snd.nxt advance 2400 - bug 1265 - Make ns-3 directory "movable" 2401 - bug 1269 - sqlite3 not found on FreeBSD 2402 - bug 1270 - "Checking boost includes" weirdness 2403 - bug 1278 - Ipv4ClickRouting::HandleScheduleFromClick bug 2404 - bug 1281 - Checksum not calculated when doing IP fragmentation 2405 - bug 1285 - IPv6 Localhost is marked as GLOBAL instead of HOST 2406 - bug 1290 - buffer-test.cc gets a valgrind error 2407 - bug 1295 - Missing const qualifiers in TopologyRead 2408 - bug 1299 - EnableAsciiIpv4All tracing doesn't show transmitted/recvd packets 2409 - bug 1300 - HalfDuplexIdealPhy notify SpectrumInterference of AbortRx 2410 - bug 1301 - Ns2MobilityHelper causes Node GetPosition() to return NaN 2411 - bug 1305 - do not list modules built upon exiting waf shell 2412 - bug 1312: TopologyRead Assert condition fix 2413 - IPv4 packets double fragmentation was broken 2414 - Fix wifi-clear-channel-cmu.cc example 2415 - NetAnim: fix for bcast packet reuse 2416 - Missing PropagationLossModel.CalcRxPower in Python bindings 2417 - Corrected compilation behavior in Ubuntu 11.10 due to ldd behavior change 2418 - Added required PTHREAD dependency to RT library check. 2419 2420Known issues 2421------------ 2422In general, known issues are tracked on the project tracker available 2423at http://www.nsnam.org/bugzilla/ 2424 2425Release 3.12.1 2426============== 2427 2428Availability 2429------------ 2430This release is available from: 2431http://www.nsnam.org/release/ns-allinone-3.12.1.tar.bz2 2432 2433Bugs fixed 2434---------- 2435This release fixes PyViz visualizer's python bindings; otherwise, it 2436is the same as the ns-3.12 release. 2437 2438Release 3.12 2439=========== 2440 2441Availability 2442------------ 2443This release is available from: 2444http://www.nsnam.org/release/ns-allinone-3.12.tar.bz2 2445 2446Supported platforms 2447------------------- 2448ns-3.12 has been tested on the following platforms. Not all features are 2449available on all platforms; check the Installation page on the project wiki. 2450 2451- Fedora Core 15 (32/64 bit) with g++-4.6.0 2452- Ubuntu 11.04 (32/64 bit) with g++-4.5.2 2453- OS X Lion with g++-4.2.1 2454- Fedora Core 14 (64 bit) with g++-4.3.4, g++-4.5.3, g++-4.4.6 2455- Fedora Core 12 (64 bit) with g++-4.4.4 2456- OS X Snow Leopard with g++-4.2.1 2457- Ubuntu 10.04.3 LTS (64 bit) with g++-4.4.3, g++-3.4.6 2458 2459New user-visible features 2460------------------------- 2461 2462- SpectrumChannel models now support the usage of single-frequency 2463 propagation loss models based on the PropagationLossModel 2464 class. These model can be used in conjunction with 2465 the frequency-dependent propagation loss model based on the 2466 SpectrumPropagationLossModel class already supported by 2467 SpectrumChannel. 2468 2469- Extend the attribute system extend the attribute system to store map 2470 container objects in addition to vector containers. The ObjectMap 2471 and related classes are patterned after ObjectVector. 2472 2473- Support for IPv4 fragmentation has been added. 2474 2475- Significant performance improvement for AODV in dense mobile scenarios 2476 due to a fixed bug in RERR processing. 2477 2478- WiFi traces that were named promiscuous are now renamed monitor, and 2479 a separate flag for setting the interface to promiscuous mode has been 2480 introduced. This disambiguates monitor mode from promiscuous mode. 2481 2482- Monolithic Python bindings have been removed 2483 2484Bugs fixed 2485---------- 2486 - bug 845 - fix ConfigStore output for changing default values 2487 - bug 1010 - Uan model Sleep patch 2488 - bug 1033 - Mesh airtime-metric fixed 2489 - bug 1043 - lte-spectrum-value-helper.cc file swapped uplink/downlink freq. 2490 - bug 1050 - ISO C++ forbids variable length array; remove all instances 2491 - bug 1057 - LTE bearers differentiation issue 2492 - bug 1082 - Check that log component names are correct when taken from NS_LOG 2493 - bug 1100 - IPv6 fragmentation enhancements 2494 - bug 1102 - IPv4 header fragment offset field not set correctly 2495 - bug 1123 - class MinMaxAvgTotalCalculator does not implement all methods 2496 - bug 1134 - Fix LiIonEnergySource attribute spelling for InitialCellVoltage 2497 - bug 1139 - Broadcast packets issue in uan cw mac 2498 - bug 1141 - MeshWifiInterfaceMac adds supported modes to wrong remote station 2499 - bug 1163 - Ipv4EndPointDemux::AllocateEphemeralPort forget to increment port 2500 - bug 1164 - IPV4 TCP Bind already used port failed, but without setting errno 2501 - bug 1168 - BridgeNetDevice: default expiration time not realistic 2502 - bug 1174 - Ns-3 does not generate static libraries 2503 - bug 1175 - shared libraries are not versioned 2504 - bug 1193 - AODV Hello timers scheduling skewed when RREP, RREQ are processed 2505 - bug 1194 - AODV Incorrect RERR processing 2506 - bug 1201 - UDP sockets need to set connected state before notifying the ConnectionSucceeded callback 2507 - bug 1208 - Spectrum module example causing valgrind errors 2508 - bug 1209 - ns-3-click fails to build on Fedora 15 when tests are enabled 2509 - bug 1220 - FdReader always stops with NS_FATAL_ERROR 2510 - bug 1222 - Incomplete PointToPointNetDevice Python bindings 2511 - bug 1224 - ns-3-allinone fails to compile on OS X Lion 2512 - bug 1226 - Incomplete YansWifiChannel Python bindings 2513 - bug 1234 - GetAttributeChecker is not defined anymore but still used 2514 - bug 1239 - Add assertion that reference count never overflows 2515 - bug 1244 - Seg Faults in optimized builds due to missing Logging components 2516 - Fix ARP issue in nsclick-ip-router.click and static route in nsclick-routing-node2.click 2517 2518Known issues 2519------------ 2520In general, known issues are tracked on the project tracker available 2521at http://www.nsnam.org/bugzilla/ 2522 2523Release 3.11 2524=========== 2525 2526Availability 2527------------ 2528This release is available from: 2529http://www.nsnam.org/release/ns-allinone-3.11.tar.bz2 2530 2531Supported platforms 2532------------------- 2533ns-3.11 has been tested on the following platforms. Not all features are 2534available on all platforms; check the Installation page on the project wiki. 2535 2536- Linux x86_64 Ubuntu 11.04 2537 - g++-4.5.2 2538- Linux i686 Ubuntu 11.04 2539 - g++-4.5.2, g++-4.4.5 2540- Linux x86_64 Fedora Core 15 2541 - g++-4.6.0 2542- Linux x86_64 Fedora Core 14 2543 - g++-4.5.3, g++-4.4.6, g++-4.3.4 2544- Linux x86_64 Fedora Core 10 2545 - g++-3.4.6, 4.0.4, 4.1.2, 4.2.4, 4.3.2, 4.4.0 2546- OS X Snow Leopard 2547 - g++-4.2.1 2548 2549New user-visible features 2550------------------------- 2551 2552 - The build system has been modularized, and the source code reorganized, 2553 to allow for modular libraries instead of a single monolithic ns-3 2554 library. User programs now link a number of smaller, per-module 2555 libraries depending on the dependencies expressed to the build system. 2556 Source code is now being maintained in individual modules with 2557 consistent directory structures. 2558 2559 - Python bindings have also been modularized, and the bindings are now 2560 generated into a 'ns' namespace instead of 'ns3' for the old 2561 (monolithic) bindings. By default the bindings are now modular, with 2562 a backward compatibility layer for older programs. 2563 2564 - By default, example and test programs are disabled from the build. 2565 Users can enable them via the use of a waf command at configure time, 2566 or automatically through the use of a new .ns3rc file. 2567 2568 - int64x64_t is a new type which allows portable and easy to write arithmetic 2569 calculations that require a high degree of fractional precision. 2570 2571 - An interface to the Click Modular Router and an Ipv4ClickRouting 2572 class has been added, to allow a node to use Click for external routing. 2573 2574 - An interface to an OpenFlow software implementation distribution has 2575 been added to allow the simulation of OpenFlow switches in ns-3. 2576 2577 - ns-3 coding style requirements have been applied to the entire coding 2578 base, resulting in a large number of whitespace changes. The coding 2579 style has been automatically enforced by running a style checking 2580 program (utils/check-style.py) that uses the uncrustify (v. 0.58) 2581 program to apply changes. 2582 2583 - Some documentation reorganization to split documentation between 2584 the ns-3 manual (primarily focusing on the ns-3 core) and a new 2585 "model library" document has been started. 2586 2587Bugs fixed 2588---------- 2589The following lists many of the bugs fixed or small feature additions 2590since ns-3.10, in many cases referencing the Bugzilla bug number. 2591 2592 - bugfix: CsmaNetDevice ErrorModel not discarding packet 2593 - bugfix: do not call RouteOutput() twice 2594 - Workaround gccxml bug scanning Seconds(0) as default value 2595 - Copy a bug fix from ns3modulescan.py into ns3modulescan-modular.py 2596 - Modular Python bindings work (many bug fixes, more modules tested) 2597 - Modular bindings: bug fixes, more verbose scanning 2598 - ./waf --apiscan: fix bug in detection of whether the per-module 2599 - Remove the 'Modules to build' debug print 2600 - CsmaNetDevice ReceiveErrorModel was not dropping the packet 2601 - Several "set but not used" bugs for newer compilers quick-fixed 2602 2603 - bug 445 - Is the class name Scalar in nstime.h appropriate? 2604 - bug 699 - TestCase::DoRun probably should not return a bool 2605 - bug 823 - Need finer-grained control over what goes into libns3 2606 - bug 957 - Issue with test.py 2607 - bug 1017 - node --> internet-stack --> node 2608 - bug 1018 - mobility --> helper --> mobility circular dependency 2609 - bug 1019 - common --> node --> common circular dependency 2610 - bug 1038 - Time::Get*Seconds () return signed integer while actually returning unsigned. 2611 - bug 1040 - Olsr and multiple interfaces 2612 - bug 1042 - AODV RERR implosion (missing RERR_RATELIMIT) 2613 - bug 1044 - Seconds (1e-9) creates Time that is not IsPositive () 2614 - bug 1047 - Multicast routes on nodes with >16 interfaces 2615 - bug 1048 - suggested MatrixPropagationLossModel::SetLoss() API change 2616 - bug 1049 - Issues with OLSR HNA messages sent by multiple gateways 2617 - bug 1052 - olsr::RoutingProtocol::LinkTupleUpdated incorrect detection of asymmetric link with multiple interface nodes 2618 - bug 1054 - ipv6 InternetStackHelper EnablePcapIpv6All() broken 2619 - bug 1056 - CSMA: padding not handled correctly for LLC encapsulation 2620 - bug 1058 - InternetStackHelper pitfall: calling Install before adding routing protocols 2621 - bug 1060 - Setting NqStaWifiMac Active Probing true, crashes simulation 2622 - bug 1061 - Title level inconsistent in click.rst 2623 - bug 1062 - rescale-pdf not working 2624 - bug 1064 - Correct Friis propagation loss equation in spectrum module 2625 - bug 1066 - Set Radiotap modulation type flags correctly 2626 - bug 1069 - ApWifiMac unduly calls RegularWifiMac::Receive and crashes 2627 - bug 1070 - csma/ipv6 examples duplicate NS_LOG_COMPONENT_DEFINE 2628 - bug 1072 - crash upon call to Packet::AddAtEnd of fragmented packets 2629 - bug 1075 - Python examples fail when static built is enabled 2630 - bug 1076 - Waf gives an error if you enable only a single module 2631 - bug 1078 - PacketTagList::Add performs NS_ASSERT counting one byte too few 2632 - bug 1079 - MPI code doesn't compile 2633 - bug 1081 - wutils.py refers to the old directory for visualizer module 2634 - bug 1083 - scratch doesn't work when only some modules are enabled 2635 - bug 1085 - Build failed: list index out of range 2636 - bug 1086 - sanity check for not calling Object::Dispose () twice 2637 - bug 1087 - Call MPI_Finalize to exit MPI environment 2638 - bug 1088 - Code in scratch directory assumes all modules are enabled 2639 - bug 1089 - lwip build issue 2640 - bug 1090 - WifiMacQueue is not accessible through the attribute path 2641 - bug 1092 - Problem building FreeBSD stack with g++ 4.5.2 (Ubuntu) 2642 - bug 1094 - Object::GetObject upon dlopen 2643 - bug 1097 - AODV routing entry set to be VALID mistakenly. 2644 - bug 1098 - when to show users which modules are enabled? 2645 - bug 1101 - Sqlite stats disappeared from configuration file src/wscript 2646 - bug 1103 - Useless assignment in omnet-data-output.cc 2647 - bug 1105 - Move topology helpers into separate per-device modules 2648 - bug 1106 - Remove "CanvasLocation" dependencies in p2p helpers 2649 - bug 1108 - test.py -e option needs repair 2650 - bug 1110 - Sort alphabetically and display "Modules built" in columns 2651 - bug 1117 - bindings failures on selected platforms 2652 - bug 1122 - spectrum-value test should check tolerance on a per-value basis 2653 - bug 1125 - ./waf --enable-modules fails 2654 - bug 1131 - Bug in Ipv4L3Protocol::RemoveAddress() 2655 - bug 1133 - DSDV: Possible bug in settling time calc 2656 - bug 1142 - Wrong 802.11p Slot time 2657 - bug 1146 - help string for test.py with disabled tests 2658 2659Known issues 2660------------ 2661In general, known issues are tracked on the project tracker available 2662at http://www.nsnam.org/bugzilla/ 2663 2664Release 3.10 2665=========== 2666 2667Availability 2668------------ 2669This release is available from: 2670http://www.nsnam.org/release/ns-allinone-3.10.tar.bz2 2671 2672Supported platforms 2673------------------- 2674ns-3.10 has been tested on the following platforms. Not all features are 2675available on all platforms; check the Installation page on the project wiki. 2676 2677- Linux i686 Ubuntu 10.10 2678 - g++-4.4.5 2679- Linux x86_64 Ubuntu 8.04.4 2680 - g++-3.4.6, g++-4.2.4 2681- Linux x86_64 Fedora Core 12 2682 - g++-4.4.4 2683- Linux x86_64 Fedora Core 10 2684 - g++-3.4.6, 4.0.4, 4.1.2, 4.2.4, 4.3.4, 4.4.0 2685- OS X Snow Leopard 2686 - g++-4.2.1 2687- OS X powerpc Leopard 2688 - g++-4.0, g++-4.2 2689 2690New user-visible features 2691------------------------- 2692 2693 - NS-3 PyViz, a live simulation visualizer, has been added. The 2694 visualizer interacts with a running simulation, such that it uses no 2695 trace files. It can be most useful for debugging purposes, i.e. to 2696 figure out if mobility models are what you expect, where packets are 2697 being dropped, etc. There is also a builtin interactive python console 2698 that can be used to debug the state of the running objects. Although 2699 it is mostly written in Python, it works both with Python and pure C++ 2700 simulations. 2701 2702 - Wi-Fi MAC high classes have been reorganised in attempt to 2703 consolidate shared functionality into a single class. This new 2704 class is RegularWifiMac, and it derives from the abstract 2705 WifiMac, and is parent of AdhocWifiMac, StaWifiMac, ApWifiMac, 2706 and MeshWifiInterfaceMac. The QoS and non-QoS class variants are 2707 no longer, with a RegularWifiMac attribute "QosSupported" 2708 allowing selection between these two modes of 2709 operation. 2710 2711 - Support for IEEE 802.11g (specifically, rates with Modulation 2712 Class ERP-OFDM) has been added to the wifi module. The new 2713 WifiModes have names of the form ErpOfdmRatexxMbps, where xx is 2714 the rate in Mbps (one of 6, 9, 12, 18, 24, 36, 48, 54), and a 2715 WifiPhyStandard enumeration WIFI_PHY_STANDARD_80211g has been 2716 added to allow configuration of a Wi-Fi STA supporting ERP-OFDM, 2717 HR/DSSS, and DSSS rates (which some call an "802.11b/g" station). 2718 2719 - Two attributes were added to WaypointMobilityModel. The first 2720 "LazyNotify" (default false), if enabled to true, will suppress 2721 course change notifications if there are no position updates. 2722 The second, "InitialPositionIsWaypoint" (default false), if enabled, 2723 will allow an initial call to SetPosition () (before any waypoints 2724 have been added) to be treated as the first waypoint. 2725 2726 - Regression testing is now completely performed within test.py 2727 rather than a separate "./waf --regression" that consults 2728 reference traces in the ns-3.x-ref-traces directory. In most 2729 cases, the example programs whose traces were included in 2730 ns-3.x-ref-traces have a corresponding test called from the 2731 test.py program. It is still possible to write trace-based 2732 regression tests but they are now called from the test.py 2733 program. 2734 2735 - New BulkSendApplication sends data as fast as possible up to 2736 MaxBytes or unlimited if MaxBytes is zero. Think OnOff, but 2737 without the "off" and without the variable data rate. This 2738 application only works with SOCK_STREAM and SOCK_SEQPACKET 2739 sockets, for example TCP sockets and not UDP sockets. 2740 2741 - Extensions to the energy models: 1) a new Rakhmatov Vrudhula 2742 non-linear battery model, 2) additional support for modeling 2743 energy consumption in WiFi devices, 3) an example for how to add 2744 energy models to a WiFi-based simulation (in examples/energy/ 2745 directory). 2746 2747 - New methods to print IPv4 routing tables to an output stream. 2748 2749 - A replacement implementation for TCP for IPv4. TcpSocketBase 2750 now replaces TcpSocketImpl. There are subclasses defined for 2751 TCP Tahoe, Reno, NewReno, and the original RFC793 without 2752 congestion control. 2753 2754 - Energy support for UAN module and Li-Ion energy model. 2755 Now each network node can have an associated energy source 2756 from which it consumes energy. The user can specify a custom 2757 energy model for the underwater transducer, with default values 2758 set for WHOI acoustic transducer. Li-Ion battery model added 2759 into energy models folder. 2760 2761 - Destination-Sequenced Distance Vector (DSDV) routing protocol 2762 is a proactive, table-driven routing protocol for MANETs 2763 developed by Charles E. Perkins and Pravin Bhagwat in 1994. 2764 This implementation is for IPv4 routing and was contributed 2765 by ResilNets Research Group. 2766 2767 - A novel model to simulate LTE networks has been added. It focuses 2768 mainly on modeling the E-UTRA part of the system, with a particular 2769 attention on the aspects related to the channel, PHY and MAC layers. 2770 The most important features available at this moment are (i) a basic 2771 implementation of both the UE and the eNB devices, (ii) RRC and 2772 entities for both the UE and the eNB, (iii) an Adaptive Modulation 2773 and Coding (AMC) scheme for the downlink, (iv) the management of the 2774 data radio bearers (with their QoS parameters), the MAC queues and 2775 the RLC instances, (v) Channel Quality Indicator (CQI) management, 2776 (vi) support for both uplink and downlik packet scheduling, 2777 (vii) a PHY layer model with Resource Block level granularity, and 2778 (viii) a channel model with the outdoor E-UTRAN propagation loss 2779 model. 2780 2781 - Project documentation has been converted from GNU Texinfo to Sphinx. 2782 2783Bugs fixed 2784---------- 2785The following lists many of the bugs fixed or small feature additions 2786since ns-3.9, in many cases referencing the Bugzilla bug number 2787 2788 - bug 824 - TCP should implement FastRecovery by default 2789 - bug 852 - Add support for 802.11g devices 2790 - bug 892 - WaypointMobilityModel incompatible with MobilityHelper::Install 2791 - bug 893 - Lazy CourseChange notification for WaypointMobilityModel 2792 - bug 903 - TapBridge does not shut down properly 2793 - bug 953 - WiMAX channel scanning overflow 2794 - bug 967 - Need to decouple Ipv4L4Protocols from Ipv4L3Protocol 2795 - bug 978 - Consolidate Wi-Fi MAC high functionality 2796 - bug 979 - Multi-octet fields in Wi-Fi headers have wrong endianness 2797 - bug 981 - use a cache to keep track of received MPDUs under block ack 2798 - bug 983 - handle correctly ADDBA response action frames in QadhocWifiMac 2799 - bug 984 - EmuNetDevice should use DIX encapsulation by default 2800 - bug 985 - WiMAX Invalid management message type on wimax-simple 2801 - bug 988 - MacRxMiddle::SequenceControlSmaller method 2802 - bug 990 - Error with an NS_ASSERT at uan-phy-gen.cc 2803 - bug 991 - InterferenceHelper assertion failure 2804 - bug 992 - Unusual (possibly incorrect assertion) in Packet::Deserialize 2805 - bug 993 - MinstrelWifiManager::UpdateStats useless if clause 2806 - bug 994 - PointToPointGridHelper useless if clauses 2807 - bug 995 - Useless (possibly incorrect) comparison of unsigned int 2808 - bug 1004 - module header not rebuilt 2809 - bug 1005 - GetSocket() methods for OnOffApplication and PacketSink 2810 - bug 1009 - decouple m_finSequence (TcpSocketImpl) from tx sequence numbers 2811 - bug 1012 - UAN Throp propagation model bug 2812 - bug 1015 - GetChannelFrequencyMhz() does not match with standard 2813 - bug 1022 - inappropriate ASSERT in tcp-socket-impl.cc 2814 - bug 1025 - wimax-ipv4 script exists with signal SIGSEGV when nbSS>20 2815 - bug 1027 - RocketfuelTopologyReader is not working at all 2816 - bug 1029 - v4Ping application endian issues 2817 - bug 1030 - routing/aodv example fixed 2818 - bug 1031 - Wifi hidden terminal example does not work 2819 - bug 1032 - Unable to specify multiple Compiler/Linker flags 2820 2821Known issues 2822------------ 2823In general, known issues are tracked on the project tracker available 2824at http://www.nsnam.org/bugzilla/ 2825 2826Windows XP 32 bit Cygwin 1.7.7 does not seem to work because of a 2827problem (reported elsewhere) in linking large libraries. 2828 2829Release 3.9 2830=========== 2831 2832Availability 2833------------ 2834This release is immediately available from: 2835http://www.nsnam.org/release/ns-allinone-3.9.tar.bz2 2836 2837Supported platforms 2838------------------- 2839ns-3.9 has been tested on the following platforms: 2840- Ubuntu 10.04 LTS 32/64-bit gcc-4.4.3 2841- Fedora Core 12 64-bit gcc-4.4.3 2842- Ubuntu 9.10 32-bit gcc-4.4.1 2843- Ubuntu 8.04 LTS 64-bit gcc-4.2.4 2844- Fedora Core 5 32-bit gcc-4.1.1 2845- Mac OS X Leopard powerpc gcc-4.0.1 2846- Windows Cygwin 1.7.5 2847 2848Not all ns-3 options are available on all platforms; consult the 2849wiki for more information: 2850http://www.nsnam.org/wiki/Installation 2851 2852New user-visible features 2853------------------------- 2854 2855 - A reorganisation of the construction of Wi-Fi transmit rates has 2856 been undertaken with the aim of simplifying the task of 2857 supporting further IEEE 802.11 PHYs. This work has been completed 2858 under the auspices of Bug 871. A consequence of this work is that 2859 WifiModes have a new (hopefully future-proof) naming, and 2860 simulations which specify rates by name will need updating. The 2861 list of new rate names is given in the error message produced 2862 when an attempt is made to use any invalid rate name (including 2863 those that were previously valid). 2864 2865 - A new OFDM error rate model for WiFi (NistErrorRateModel); this model 2866 has been validated in clear-channel testbed tests. For 802.11b, it 2867 uses the same underlying model as the YansErrorRateModel, but it differs 2868 from YansErrorRateModel for OFDM modes (802.11a/g). The default 2869 YansWifiPhyHelper has been changed to use this model. 2870 2871 - A new NS-2 mobility trace reader supports BonnMotion, SUMO, TraNS, 2872 etc. traces. 2873 2874 - An energy model for nodes and devices, including an energy source 2875 model and device energy models allowing energy-aware devices 2876 to notify the energy source about energy consumption. 2877 2878 - Rocketfuel topology dataset support for existing topology reader 2879 Rocketfuel project: 2880 http://www.cs.washington.edu/research/networking/rocketfuel/ 2881 2882 - Underwater Acoustic Network (UAN) model, split in to three parts, the 2883 channel, PHY, and MAC models to enable researchers to model a variety 2884 of underwater network scenarios. 2885 2886 - the Spectrum framework, which provides support for spectrum-aware 2887 Channel and PHY layer modeling. It features a set of classes that 2888 allows the mathematical representation of frequency dependent 2889 phenomena. Some example channel, propagation and device 2890 implementations that make use of this framework are also 2891 included. 2892 2893Bugs fixed 2894---------- 2895The following lists many of the bugs fixed or small feature additions 2896since ns-3.8, in many cases referencing the Bugzilla bug number 2897 2898 - IPv4 global routing code; stub networks were assumed to be /24 2899 and added as /24 networks even if the mask is actually different 2900 - OLSR was generating messages on non-OLSR interfaces 2901 - ICMPv4 objects not properly registered; affected serialization code 2902 - bug 231 - SocketAddressTag needs to be removed from a packet before 2903 forwarding the packet to the user 2904 - bug 385 - Add a generic "sequence number" class 2905 - bug 473 - [PATCH] Alternative ns-2 trace reader 2906 - bug 665 - Need Tutorial Sectino on Config Path and Tracing Use 2907 - bug 671 - add packet-info-tag.cc for IP_PKTINFO/IPV6_PKTINFO 2908 - bug 702 - Global routing doesn't respond to interface events 2909 - bug 799 - Interference helper is too slow 2910 - bug 800 - Erroneous packet sender while using aloha or cw mac in uan module 2911 - bug 802 - Minstrel algorithm causes segmentation fault 2912 - bug 826 - Using uint64_t instead of Time in DcfManager 2913 - bug 828 - PacketSocket::Close does not unregister protocol handler 2914 - bug 842 - ns-3-dev crashes using block acks 2915 - bug 843 - Most wifi examples change BeaconInterval to unrealistic values 2916 - bug 844 - YansWifiPhy::GetPowerDbm off-by-one problem when calculating Tx 2917 power 2918 - bug 846 - packet.cc triggers deprecated warning 2919 - bug 853 - Rates for Wi-Fi control responses are incorrectly selected 2920 - bug 854 - Support DROP_QUEUE reason-code in Ipv4FlowProbe 2921 - bug 858 - support MSG_PEEK in IPv4/IPv6 raw socket 2922 - bug 861 - Forwarding drops (due to no route found) were not being logged 2923 in IPv4 or IPv6 ascii traces 2924 - bug 869 - suggested test framework enhancements 2925 - bug 871 - naming for WifiPhyStandard 2926 - bug 873 - Queue occupancy counter not decremented in WifiMacQueue::Remove() 2927 - bug 874 - wrong modulation type is selected in the forwardBurst method 2928 - bug 875 - "frame includes FCS" flag should be set in Radiotap frame header 2929 - bug 879 - source address selection for AODV using DeferredRouteRequest 2930 - bug 881 - Reorganise to allow wider use of WifiInformationElement 2931 - bug 890 - several rate adaptation algorithms not tested by test.py 2932 - bug 900: RawTextConfigLoad::Default does not load configurations 2933 - bug 901 - Optimize Mac48Address < != and == 2934 - bug 902 - TCP: handle out-of-order packets during connection shutdown 2935 - bug 905 - WimaxNetDevice loses packet uid, tags, and memory optimization 2936 - bug 906 - NSC TCP socket fork did not copy txbuffersize over 2937 - bug 908 - test.py should exit if waf dies 2938 - bug 910 - Change Wi-Fi "AccessClass" to something closer to the standard 2939 - bug 911 - IPv4/v6 multicast forwarding not going to all output interfaces 2940 - bug 913 - Queue Enqueue/Drop trace sources behavior unintuitive 2941 - bug 916 - EnableAsciiAll ("prefix") does not work for YansWifiPhyHelper 2942 - bug 918 - samples/main-packet-header.cc is broken 2943 - bug 919 - minstrel does not pass valgrind tests 2944 - bug 921 - Inconsistent declaration of class/struct Object in object.h 2945 - bug 922 - Inconsistent declaration of class/struct in 2946 wifi-remote-station-manager.h 2947 - bug 923 - Inconsistent declaration of class/struct in mac-low.h 2948 - bug 924 - Inconsistent declaration of class/struct in <xxx>-wifi-managers 2949 - bug 925 - Various IPv6 cc files trigger deprecated warning 2950 - bug 926 - olsr handling of multicast packets 2951 - bug 927 - SimpleOfdmWimaxChannel RxPower computation 2952 - bug 930 - examples/topology-read/topology-example-sim.cc uses variable 2953 length array 2954 - bug 931 - Abnormal exit reports SIGSEGV on failure 2955 - bug 932 - Support IP_HDRINCL option for Ipv4RawSocket 2956 - bug 933 - Flushing ostream and files on abnormal program exit 2957 (ASSERT, ABORT and FATAL_ERROR) 2958 - bug 936 - Waf build error for python bindings on "AccessClass" 2959 - bug 937 - bugs in ns-3 wimax 2960 - bug 939 - EmuNetDevice uses too much memory when reading packet bursts 2961 - bug 940 - AODV fails to set up a correct path 2962 - bug 941 - Wifi Dcf attributes not reachable through configuration namespace 2963 - bug 943 - Add a SO_BROADCAST socket option 2964 - bug 944 - change default ErrorRateModel from YansErrorRateModel to 2965 NistErrorRateModel 2966 - bug 946 - Rocketfuel topology dataset support for topology reader 2967 - bug 949 - Node::NonPromiscReceiveFromDevice reports a meaningless 2968 destination address to user callbacks 2969 - bug 950 - PointToPointNetDevice says promisc support is not implemented 2970 but it is 2971 - bug 955 - Install NSC for NS3 in a Itanium Architecture (ia64) with Linux 2.6.16.6 2972 - bug 956 - Bindings failure in core (traced-value) with older gcc 2973 - bug 958 - WiFi uses wrong default values for MTU, FragmentationThreshold 2974 and RtsCtsThreshold 2975 - bug 959 - Simulation never finishes when using RealtimeSimulatorImpl 2976 - bug 960 - V4Ping does not generate checksum 2977 - bug 961 - Problem with MPI activation 2978 - bug 964 - AODV does not work with host addressed interfaces 2979 - bug 965 - Problem building /src/core/callback.cc 2980 - bug 966 - AODV originates new RREQ on each packet, when doesn't have 2981 valid route 2982 - bug 969 - No SocketList is present in UdpL4Protocol class 2983 - bug 971 - fix AODV header Print functions 2984 - bug 972 - [flow monitor] assertion fails in pv4-flow-probe.cc 2985 2986Known issues 2987------------ 2988 2989Release 3.8 2990=========== 2991 2992Availability 2993------------ 2994This release is immediately available from: 2995http://www.nsnam.org/release/ns-allinone-3.8.tar.bz2 2996 2997Supported platforms 2998------------------- 2999ns-3.8 has been tested on the following platforms: 3000 - linux x86 gcc 4.4.0, 4.3.2, 4.2, 4.1.1, 4.1 and 3.4.6 (debug and optimized) 3001 - 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) 3002 - MacOS X ppc gcc 4.0.x and 4.2.x (debug and optimized) 3003 - cygwin gcc 4.3.4 (debug and optimized) 3004 3005Not all ns-3 options are available on all platforms; consult the 3006wiki for more information: 3007http://www.nsnam.org/wiki/Installation 3008 3009New user-visible features 3010------------------------- 3011 a) WiMAX net device: Allow to simulated IEEE 802.16 point to multi-point based networks 3012 3013 b) Distributed simulation for point-to-point networks using the Message 3014 Passing Interface (MPI) standard. 3015 3016 c) Matrix propagation loss model uses a two-dimensional matrix of path loss indexed 3017 by source and destination nodes. 3018 3019 d) Topology read system: Allows quick and easy creation of large topologies by reading 3020 Inet or Orbis files 3021 3022 e) Gauss-Markov mobility model: Adds 3-d adaptation of Gauss-Markov mobility model which 3023 has both memory and variability 3024 3025 f) Steady-state random waypoint mobility model: Based on random waypoint mobility (RWM) model for case when 3026 speed, pause and position are uniformly distributed random variables. However, initial values of these 3027 parameters are not from uniform distribution but from stationary distribution of RWM model. 3028 3029 g) Two-ray ground propagation loss model: Calculates the crossover distance under which Friis is used. 3030 The antenna height is set to the nodes z coordinate, but can be added to using the model parameter 3031 SetHeightAboveZ, which will affect ALL stations 3032 3033 3034API changes from ns-3.7 3035----------------------- 3036API changes for this release are documented in the file CHANGES.html. 3037 3038Bugs fixed 3039---------- 3040The following lists many of the bugs that were fixed since ns-3.7, in 3041many cases referencing the Bugzilla bug number 3042 - bug 155 - std::ostream & os" parameters not Python friendly 3043 - bug 184 - GtkConfigStore do not support ConfigureDefault 3044 - bug 407 - OLSR is missing HNA support 3045 - bug 414 - No ReceiveErrorModel in SimpleNetDevice 3046 - bug 602 - WifiRemoteStation lacks information about the access class of outgoing packets 3047 - bug 622 - [PATCH] Friendly names for pcap traces 3048 - bug 683 - Helper methods for pcap tracing with explicit filenames 3049 - bug 706 - Backoff counting when starting NS. 3050 - bug 720 - TapBridge creation fails from a script outside the ns3 tree 3051 - bug 731 - Send function in point-to-point-net-device fails to check the return value of the Dequeue function 3052 - bug 747 - Listening TCP socket closes on RST 3053 - bug 748 - Cloned TCP socket uses wrong source address 3054 - bug 772 - AODV is unable to correctly buffer packets waiting for route reply 3055 - bug 777 - AODV ignores specified outgoing interface in RouteOutput() 3056 - bug 778 - OLSR ignores specified outgoing interface in RouteOutput() 3057 - bug 787 - Addition of Two Ray Ground model to propagation loss model and tests 3058 - bug 788 - OLSR_NEIGH_HOLD_TIME should be 3 times OLSR_REFRESH_INTERVAL 3059 - bug 789 - [PATCH] Globalrouting externalroutes to use the new GetRootExitDirections() 3060 - bug 794 - Ipv4Mask constructor for "/yy"-notation is wrong 3061 - bug 796 - TCP bug in ns-3-dev branch : Crash detected during retesting of Chord on ns-3-dev branch 3062 - bug 797 - Enhancements to src/core/random-variable.cc/h 3063 - bug 801 - ns-3.7 and SVN not coexisting nicely 3064 - bug 802 - Minstrel algorithm causes segmentation fault 3065 - bug 804 - null-pointer references in 3.7 internet stack 3066 - bug 806 - TCP doesn't work over a CSMA link 3067 - bug 807 - ns2-mobility-helper.cc: node id parsed wrong 3068 - bug 809 - Missing Python binding for Ipv4GlobalRouting::GetRoute 3069 - bug 810 - In TCP, Socket::GetSockName() does not return the local socket address 3070 - bug 812 - Assert when getting socket in RecvReply for AODV 3071 - bug 813 - Nqos AP sends packet to non associated STA 3072 - bug 814 - Function logging causing assert in wireless examples 3073 - bug 815 - waf shell file descriptor leak 3074 - bug 816 - tap-creator deadlock when python bindings enabled 3075 - bug 817 - Pareto rng constructors using scale and shape instead of mean and shape 3076 - bug 818 - TCP Socket implementation does not set ACK flag on retransmits 3077 - bug 819 - Build break when gtk not installed 3078 - bug 820 - Bad things happen in test.py when logging is enabled 3079 - bug 821 - AODV asserts with function logging enabled 3080 - bug 822 - Move Mtu attribute from NetDevice base class to subclasses 3081 - bug 825 - UDP-Client-server's packet loss counter not properly reset 3082 - bug 828 - PacketSocket::Close does not unregister protocol handler 3083 - bug 829 - TCP unbound memory problem (pending data) 3084 - bug 833 - OnOffApplication with PacketSocket: sniffs all traffic 3085 - bug 834 - Incorrect signature of Ipv4FlowProbe::DropLogger 3086 - bug 835 - Unlimited receive queues in sockets == evil 3087 - bug 836 - Delay is incremented over time with BsUplinkSchedulerSimple and BsUplinkSchedulerRtps 3088 - bug 838 - ns-3 can't compile on MacOS with 32bit processor 3089 - bug 839 - TestSuite wimax-ss-mac-layer crashes on Darwin 9.8.0 Power Macintosh 3090 - bug 840 - BS scheduler does not support fragmentation for UGS flows 3091 - bug 841 - Multicast transmission breaks with QoS Wifi 3092 - bug 844 - YansWifiPhy::GetPowerDbm off-by-one problem when calculating Tx power 3093 - bug 847 - Segfaults on BaseStationNetDevice with OnOffApplication and rtPS sched 3094 - bug 849 - stray patch files in lwip directory 3095 - bug 850 - Ipv4GlobalRouting::LookupGlobal bug 3096 - bug 855 - waf dies badly when switching from debug to optimized build or vice versa 3097 - bug 856 - initialize vbl 3098 - bug 857 - Link-Local Multicast handle in Ipv4 Output processing 3099 - bug 859 - Output interface estimation for the source address bound socket in IPv4 Raw socket 3100 - bug 860 - waf sometimes dies while executing ns3header or gen_ns3_module_header tasks in case of 3101 parallel jobs 3102 - bug 862 - NotifyInterfaceUp() Adds network route even when netmask is /32 3103 - bug 863 - Wrong Scalar arithmetic 3104 - bug 864 - Invalid return value in UdpSocketImpl::Send and Ipv4RawSocketImpl::Send 3105 - bug 865 - Ipv4RawSocketImpl::RecvFrom does not return from address all the time. 3106 - bug 866 - WiMAX mobility models not aggregated to Node 3107 - bug 867 - Minor bug in Ipv4L3Protocol::Send() 3108 - bug 868 - invalid packet size after Ipv4L3Protocol::Send 3109 - bug 872 - ns3::PcapFileWrapper::Write explodes stack 3110 - bug 873 - Queue occupancy counter not decremented in WifiMacQueue::Remove() 3111 - bug 876 - Tcp socket does not handle ShutdownRecv correctly 3112 - bug 877 - python bindings broken with multiple inheritance ? 3113 - bug 880 - Node sending a packet to itself via 127.0.0.1 aborts 3114 - bug 885 - Error in Ascii tracing in Python examples 3115 - bug 888 - Writing ascii trace to additional tests fails 3116 - bug 891 - WiMAX device helper does not include propagation loss model by default 3117 - bug 894 - ./waf --run error message upon segfault 3118 - bug 895 - SimpleOfdmWimaxPhy SNR computation 3119 - bug 899 - EmuNetDevice::SetPromiscReceiveCallback not implemented 3120 3121Known issues 3122------------ 3123ns-3 builds have been known to fail on the following platforms: 3124 - gcc 3.3 and earlier 3125 - optimized builds on gcc 3.4.4 and 3.4.5 3126 - optimized builds on linux x86 gcc 4.0.x 3127 3128 3129Release 3.7 3130=========== 3131 3132Availability 3133------------ 3134This release is immediately available from: 3135http://www.nsnam.org/release/ns-allinone-3.7.tar.bz2 3136 3137Supported platforms 3138------------------- 3139ns-3.7 has been tested on the following platforms: 3140 - linux x86 gcc 4.4.0, 4.3.2, 4.2, 4.1.1, 4.1 and 3.4.6 (debug and optimized) 3141 - 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) 3142 - MacOS X ppc gcc 4.0.x and 4.2.x (debug and optimized) 3143 - cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized) 3144 3145Unofficially supported platform 3146------------------- 3147- mingw gcc 3.4.5 (debug only) 3148 3149Not all ns-3 options are available on all platforms; consult the 3150wiki for more information: 3151http://www.nsnam.org/wiki/Installation 3152 3153New user-visible features 3154------------------------- 3155 3156 a) Ad hoc On-Demand Distance Vector (AODV) routing model (RFC 3561) 3157 3158 b) IPv6 extensions support to add IPv6 extensions and options. Two 3159 examples (fragmentation and loose routing) are available. 3160 3161 c) NetAnim interface: Provides an interface to the Qt-based NetAnim 3162 animator, which supports static, point-to-point topology-based 3163 packet animations. 3164 3165 d) New topology helpers have been introduced 3166 - PointToPointDumbbellHelper 3167 - PointToPointGridHelper 3168 - PointToPointStarHelper 3169 - CsmaStarHelper 3170 3171 e) Equal-cost multipath for global routing: Enables quagga's equal 3172 cost multipath for Ipv4GlobalRouting, and adds an attribute that 3173 can enable it with random packet distribution policy across 3174 equal cost routes. 3175 3176 f) Binding sockets to devices: A method analogous to a SO_BINDTODEVICE 3177 socket option has been introduced to class Socket 3178 3179 g) Object::DoStart: Users who need to complete their object setup at 3180 the start of a simulation can override this virtual method, perform their 3181 adhoc setup, and then, must chain up to their parent. 3182 3183 h) Ipv4::IsDestinationAddress method added to support checks of whether a 3184 destination address should be accepted as one of the host's own 3185 addresses. 3186 3187 i) UniformDiscPositionAllocator added; distributes uniformly the nodes 3188 within a disc of given radius. 3189 3190 j) ChannelNumber attribute added to YansWifiPhy. Now it is possible to 3191 setup wifi channel using WifiPhyHelper::Set() method. 3192 3193 k) WaypointMobilityModel provides a method to add mobility as a set of 3194 (time, position) pairs 3195 3196 l) 802.11p WiFi standards 3197 3198 m) UDP Client/Server application 3199 3200 n) Support transactions in the SQLite output interface, making it usable for larger amounts of data 3201 3202API changes from ns-3.6 3203----------------------- 3204API changes for this release are documented in the file CHANGES.html. 3205 3206Bugs fixed 3207---------- 3208The following lists many of the bugs that were fixed since ns-3.6, in 3209many cases referencing the Bugzilla bug number 3210 - bug 752: Object::DoStart is not executed for objects created at t > 0 3211 - bug 767: Incorrect modulation for 802.11a modes 3212 - bug 725: wifi fragmentation and RTS cannot be used at the same time 3213 - bug 782: CreateTap () requires IP address in modes other than 3214 CONFIGURE_LOCAL. 3215 - bug 769: Queue::GetTotalReceived{Bytes,Packets}() broken 3216 - bug 738 ReceiveErrorModel called too late 3217 - Fix NSC improper response to FIN 3218 - Fixed bug in serialization of PbbAddressBlock. 3219 - Fix bug 780 (problem in RoutingTableComputation with asymmetric links), 3220 while adding debugging methods to OLSR. 3221 - bug 759: Ipv6 uses wrong outgoing interface. 3222 - bug 770: IPv6 size calculation for unknown options is wrong. 3223 - bug 771: Radvd does not set ttl value. 3224 - Fix bug 606: Arp depends on IP routing system 3225 - pad out CSMA payloads to 46 bytes if needed 3226 - Drop CSMA packets with CRC errors, rescan, dox tweaks 3227 - Add FCS capability to CSMA 3228 - Mesh:Dot11s: fixed airtime metric 3229 - Get emu working again: Add Dix/Llc option, add and use contextual 3230 realtime schedule ops, don't refcount realtime simulator impl 3231 - bug 695 - DcfManager::UpdateBackoff () uses slow HighPrecision::Div() 3232 - bug 674 - EIFS is not handled correctly in DcfManager::GetAccessGrantStart 3233 - bug 739 - OLSR: Strange HTime value in HELLO messages 3234 - bug 746 - UDP source address is not set to bound address 3235 - bug 735 Update Olsr for local delivery 3236 - bug 740 OLSR MprCompute () works wrong: fixed 3237 - bug 729 Enable IPv6 over PPP. 3238 - bug 645: fixes for opening stats file with OMNeT++ 3239 - bug 689: default energy detection and CCA thresholds are changed to be 3240 more realistic. 3241 - bug 733: OLSR MPR Computation give incorrect result 3242 - Mesh: HWMP: fixed proactive routes 3243 - Mesh: fixed FLAME PATH_UPDATE procedure, fixed mesh.cc 3244 3245Known issues 3246------------ 3247ns-3 builds have been known to fail on the following platforms: 3248 - gcc 3.3 and earlier 3249 - optimized builds on gcc 3.4.4 and 3.4.5 3250 - optimized builds on linux x86 gcc 4.0.x 3251 3252 3253Release 3.6 3254=========== 3255 3256Availability 3257------------ 3258This release is immediately available from: 3259http://www.nsnam.org/release/ns-allinone-3.6.tar.bz2 3260 3261Supported platforms 3262------------------- 3263ns-3.6 has been tested on the following platforms: 3264 - linux x86 gcc 4.4.1, 4.2, 4.1, and, 3.4.6. 3265 - linux x86_64 gcc 4.4.0, 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6 3266 - MacOS X ppc and x86 (gcc 4.0.x and 4.2.x) 3267 - cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized) 3268 3269Not all ns-3 options are available on all platforms; consult the 3270wiki for more information: 3271http://www.nsnam.org/wiki/Installation 3272 3273New user-visible features 3274------------------------- 3275 3276 a) 802.11 models: 3277 - Add an implementation of the minstrel rate control algorithm 3278 (Duy Nguyen for gsoc) 3279 - AthstatsHelper: enables the wifi device to produce periodic 3280 reports similar to the ones generated by madwifi's 3281 athstats tool (Nicola Baldo) 3282 - 10MHz and 5MHz channel width supported by 802.11a model 3283 (Ramon Bauza and Kirill Andreev) 3284 - Channel switching support. YansWifiPhy can now switch among 3285 different channels (Ramon Bauza and Pavel Boyko) 3286 3287 b) IPv6 models: 3288 - IPv6 interface; 3289 - IPv6 layer; 3290 - IPv6 raw socket; 3291 - Static IPv6 routing; 3292 - ICMPv6 layer; 3293 - Some ICMPv6 error messages (destination unreachable, ...); 3294 - Neighbor Discovery Protocol (NS/NA, RS/RA, redirection); 3295 - Ping6 application (send Echo request); 3296 - Radvd application (send RA); 3297 - Examples (ping6, simple-routing-ping6, radvd, radvd-two-prefix, 3298 icmpv6-redirect). 3299 3300 c) Wireless Mesh Networking models: 3301 - General multi-interface mesh stack infrastructure (devices/mesh module). 3302 - IEEE 802.11s (Draft 3.0) model including Peering Management Protocol and HWMP. 3303 - Forwarding Layer for Meshing (FLAME) protocol. 3304 3305 d) Nix-vector routing: 3306 - Ipv4NixVectorHelper 3307 - Examples (nix-simple, nms-p2p-nix) 3308 3309 e) New Test Framework 3310 - Use test.py instead of ./waf check or ./waf --regression 3311 - Previous unit tests have been ported to new framework. 3312 - Examples are tested for run-ability. 3313 3314 f) A new Flow Monitor module 3315 - To very easily measure flow metrics in a simulation 3316 - No need to use trace callbacks or parsing trace files 3317 3318API changes from ns-3.5 3319----------------------- 3320API changes for this release are documented in the file CHANGES.html. 3321 3322Known issues 3323------------ 3324ns-3.6 build is known to fail on the following platforms: 3325 - gcc 3.3 and earlier 3326 - optimized builds on gcc 3.4.4 and 3.4.5 3327 - optimized builds on linux x86 gcc 4.0.x 3328 3329Release 3.5 3330=========== 3331 3332Availability 3333------------ 3334This release is immediately available from: 3335http://www.nsnam.org/release/ns-allinone-3.5.tar.bz2 3336 3337Supported platforms 3338------------------- 3339ns-3.5 has been tested on the following platforms: 3340 - linux x86 gcc 4.2, 4.1, and, 3.4.6. 3341 - linux x86_64 gcc 4.4.0, 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6 3342 - MacOS X ppc and x86 (gcc 4.0.x and 4.2.x) 3343 - cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized) 3344 - mingw gcc 3.4.5 (debug only) 3345 3346Not all ns-3 options are available on all platforms; consult the 3347wiki for more information: 3348http://www.nsnam.org/wiki/Installation 3349 3350New user-visible features 3351------------------------- 3352 3353 a) 802.11 MAC: 3354 - EDCA multi-qos-class support (Mirko Banchi) 3355 - 802.11n initial support for A-MSDU frame aggregation (Mirko Banchi) 3356 - aarf-cd and cara rate control algorithms (Federico Maguolo) 3357 b) 802.11 PHY: 3358 - 802.11b PHY support (Gary Pei) 3359 - Nakagami propagation loss model (Timo Bingmann) 3360 - radiotap and prism headers for PCAP output (Nicola Baldo) 3361 c) RandomVariable: 3362 - GammaVariable and ErlangVariable (Timo Bingmann) 3363 - ZipfVariable (Francesco Malandrino) 3364 d) UdpEcho: allows setting the payload of echo packets 3365 e) Ipv4/Ipv4RoutingProtocol: allow fine-grained control over 3366 routing policy and arbitrary composition of routing protocols 3367 3368API changes from ns-3.4 3369----------------------- 3370API changes for this release are documented in the file CHANGES.html. The 3371internal API and composition of the IPv4 stack underwent significant 3372refactoring in this release cycle. 3373 3374Known issues 3375------------ 3376ns-3 build is known to fail on the following platforms: 3377 - gcc 3.3 and earlier 3378 - optimized builds on gcc 3.4.4 and 3.4.5 3379 - optimized builds on linux x86 gcc 4.0.x 3380 3381Future releases 3382--------------- 3383Our next release, which is expected to happen in 2 to 4 months from now, will 3384feature the merging of some of our projects currently in development including 3385fuller IPv6 support, some smaller features such as a new Global ARP 3386package, and possibly a new Testing and Validation suite. 3387 3388Release 3.4 3389=========== 3390 3391Availability 3392------------ 3393This release is immediately available from: 3394http://www.nsnam.org/release/ns-allinone-3.4.tar.bz2 3395 3396Supported platforms 3397------------------- 3398ns-3.4 has been tested on the following platforms: 3399 - linux x86 gcc 4.2, 4.1, and, 3.4.6. 3400 - linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6 3401 - MacOS X ppc and x86 3402 - cygwin gcc 3.4.4 (debug only) 3403 3404Not all ns-3 options are available on all platforms; consult the 3405wiki for more information: 3406http://www.nsnam.org/wiki/Installation 3407 3408New user-visible features 3409------------------------- 3410 a) Wifi models: Timo Bingman contributed a ThreeLogDistance and a Nakagami 3411 propagation loss model based on the ns-2 models. Fabian Mauchle contributed 3412 multicast support. 3413 3414 b) Object Name Service: A facility allowing ns-3 Objects to be assigned 3415 names has been added. 3416 3417 c) Tap Bridge: A second option for integrating ns-3 with real-world hosts 3418 has been added. This allows for real hosts to talk over ns-3 net devices 3419 and simulated networks. 3420 3421 d) A new build option (ns-3-allinone) has been provided to make it easier for 3422 users to download and build commonly used ns-3 configurations. 3423 3424 e) The ns-3 calendar queue scheduler has been ported to ns-3. 3425 3426 f) XML support has been added to the ConfigStore. 3427 3428API changes from ns-3.3 3429----------------------- 3430API changes for this release are documented in the file CHANGES.html 3431 3432Known issues 3433------------ 3434ns-3 build is known to fail on the following platforms: 3435 - gcc 3.3 and earlier 3436 - optimized builds on gcc 3.4.4 and 3.4.5 3437 - optimized builds on linux x86 gcc 4.0.x 3438 - optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2 3439 - MinGW 3440 3441The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes 3442in preparation of the merge of the IPv6 API and implementation. 3443 3444Future releases 3445--------------- 3446Our next release, which is expected to happen in 2 to 4 months from now, will 3447feature the merging of some of our projects currently in development including 3448fuller IPv6 support, and IPv4 and routing protocol refactoring, and some smaller 3449features such as a new Global ARP package and possibly a new Testing and Validation 3450suite, 3451 3452Release 3.3 3453=========== 3454 3455Availability 3456------------ 3457This release is immediately available from: 3458http://www.nsnam.org/release/ns-3.3.tar.bz2 3459 3460Supported platforms 3461------------------- 3462ns-3.3 has been tested on the following platforms: 3463 - linux x86 gcc 4.2, 4.1, and, 3.4.6. 3464 - linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6 3465 - MacOS X ppc and x86 3466 - cygwin gcc 3.4.4 (debug only) 3467 3468Not all ns-3 options are available on all platforms; consult the 3469wiki for more information: 3470http://www.nsnam.org/wiki/Installation 3471 3472New user-visible features 3473------------------------- 3474 a) Emulated Net Device 3475 A new net device has been added as enabling technology for ns-3 emulation 3476 scenarios. See src/devices/emu and examples/emu-udp-echo.cc for details. 3477 3478 b) ICMP Support 3479 Support for several ICMP messages has been added to ns-3. See 3480 src/internet-stack/icmpv4.h for details. 3481 3482 c) IPv6 Address Support 3483 New clases to support IPv6 addresses has been added to the system. This 3484 is enabling technology for fuller IPv6 support scheduled for ns-3.4. 3485 3486 d) A flow-id tag has been added to the contributed code section 3487 3488 e) Star topologies can be created from the topology helper functions 3489 3490 f) The global routing code has been made dynamic (not just limited to 3491 (pre-simulation computation) and supports stub network interfaces and 3492 bridge net devices 3493 3494 g) A MatchContainer has been added to the configuration subsystem 3495 3496API changes from ns-3.2 3497----------------------- 3498API changes for this release are documented in the file CHANGES.html 3499 3500Known issues 3501------------ 3502ns-3 build is known to fail on the following platforms: 3503 - gcc 3.3 and earlier 3504 - optimized builds on gcc 3.4.4 and 3.4.5 3505 - optimized builds on linux x86 gcc 4.0.x 3506 - optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2 3507 - MinGW 3508 3509The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes 3510in preparation of the merge of the IPv6 API and implementation. 3511 3512Future releases 3513--------------- 3514Our next release, which is expected to happen in 2 to 4 months from now, will 3515feature the merging of some of our projects currently in development including 3516fuller IPv6 support, and IPv4 and routing protocol refactoring, and some smaller 3517features such as an object naming facility and a new Global ARP package. 3518 3519Release 3.2 3520=========== 3521 3522Availability 3523------------ 3524This release is immediately available from: 3525http://www.nsnam.org/release/ns-3.2.tar.bz2 3526 3527Supported platforms 3528------------------- 3529ns-3.2 has been tested on the following platforms: 3530 - linux x86 gcc 4.2, 4.1, and, 3.4.6. 3531 - linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6 3532 - MacOS X ppc and x86 3533 - cygwin gcc 3.4.4 (debug only) 3534 3535Not all ns-3 options are available on all platforms; consult the 3536wiki for more information: 3537http://www.nsnam.org/wiki/Installation 3538 3539New user-visible features 3540------------------------- 3541 a) Learning bridge (IEEE 802.1D) 3542 It is now possible to bridge together multiple layer 2 devices to 3543 create larger layer 2 networks. The Wifi and Csma models support 3544 this new mode of operation. (contributed by Gustavo Carneiro) 3545 3546 b) Python bindings 3547 It is now possible to write simulation scripts in python using our 3548 python bindings (contributed by Gustavo Carneiro). 3549 3550 c) Real-time simulator 3551 It is now possible to run simulations synchronized on the real-world 3552 wall-clock time (contributed by Craig Dowell). 3553 3554 d) Network Simulation Cradle 3555 It is now possible to use the Network Simulation Cradle 3556 (http://www.wand.net.nz/~stj2/nsc/) in ns-3 and run simulations 3557 using various versions of kernel TCP network stacks. (contributed 3558 by Florian Westphal as part of his Google Summer of Code work) 3559 3560 e) A statistics framework 3561 Joseph Kopena contributed a statistics framework which can be used 3562 keep track of simulation data in persistent storage across multiple 3563 runs (database and ascii file backends are available). 3564 More information on the wiki: 3565 http://www.nsnam.org/wiki/Statistical_Framework_for_Network_Simulation 3566 3567API changes from ns-3.1 3568----------------------- 3569API changes for this release are documented in the file CHANGES.html 3570 3571Known issues 3572------------ 3573ns-3 build is known to fail on the following platforms: 3574 - gcc 3.3 and earlier 3575 - optimized builds on gcc 3.4.4 and 3.4.5 3576 - optimized builds on linux x86 gcc 4.0.x 3577 - optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2 3578 - MinGW 3579 3580The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes 3581in preparation of the merge of the IPv6 API and implementation. 3582 3583Future releases 3584--------------- 3585Our next release, which is expected to happen in 2 to 4 months from now, will 3586feature the merging of some of our projects currently in development: IPv6, 3587emulation, and synchronous posix sockets. 3588 3589Release 3.1 (2008/06/30) 3590======================== 3591 3592The first ns-3 stable release 3593----------------------------- 3594 3595This release is immediately available from: 3596http://www.nsnam.org/release/ns-3.1.tar.bz2 3597 3598We dedicate this initial ns-3 release to our late contributor and friend, 3599Federico Maguolo. 3600 3601What is ns-3 ? 3602-------------- 3603 3604ns-3 is a new discrete-event network simulator designed for supporting network 3605research and education. ns-3 features a solid, well documented C++ core and 3606models for TCP/IP (IPv4), several link types including WiFi, and mobility 3607models. 3608 3609ns-3 is an open source project released under the GNU GPLv2 license which 3610allows anyone to use ns-3 without having to pay any license fee or royalties. 3611ns-3 is actively seeking new contributors to extend the range of supported 3612models and/or to maintain existing models. 3613 3614Where to get more information about ns-3 3615---------------------------------------- 3616 3617All the ns-3 documentation, is accessible from the ns-3 website: 3618http://www.nsnam.org 3619 3620Including, tutorials: 3621http://www.nsnam.org/tutorials.html 3622 3623Supported platforms 3624------------------- 3625 3626ns-3 is regularly tested on the following platforms: 3627 - linux x86 gcc 4.2, 4.1, and, 3.4.6. 3628 - linux x86_64 gcc 4.1.3, 4.2.1, 3.4.6 3629 - MacOS X ppc and x86 3630 - cygwin gcc 3.4.4 (debug only) 3631 3632Known issues 3633------------ 3634 3635ns-3 is known to fail on the following platforms: 3636 - gcc 3.3 and earlier 3637 - optimized builds on gcc 3.4.4 and 3.4.5 3638 - optimized builds on linux x86 gcc 4.0.x 3639 3640The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes 3641in preparation of the merge of the IPv6 API and implementation. 3642 3643Future releases 3644--------------- 3645 3646Our next release, which is expected to happen in 2 to 4 months from now, will 3647feature the merging of some of our projects currently in development: python 3648scripting, IPv6, emulation, a statistics framework and synchronous posix 3649sockets. 3650 3651Release 3.0.13 (2008/06/02) 3652=========================== 3653- point to point links generate ppp pcap traces 3654- point to point links support asymmetrical data rates. 3655- generate doxygen documentation for all attributes and trace sources 3656- add ConfigStore and GtkConfigStore to contrib module 3657- socket API now support tx and rx buffers: implemented for UDP and TCP 3658- ARP cache now supports per-entry pending queues 3659- lots of bugfixes and implementation and API cleanups 3660 3661Warning: among API changes in this release, Application::Start and 3662Application::Stop now interprets the time argument as a relative 3663instead of absolute simulation time, to align with how Simulator::Schedule 3664behaves. Any code that calls these APIs in the middle of the simulation 3665will need to be adapted. 3666 3667The API of Simulator::StopAt (time) has also changed. Now it is 3668called Simulator::Stop (time), and takes a relative time, instead of 3669absolute. 3670 3671Release 3.0.12 (2008/04/07) 3672=========================== 3673 - Add Attribute support to the TypeId metadata system and add 3674attribute support to all in-tree models 3675 - Add a mid-level helper API to build simulation topologies 3676and perform simple ascii and pcap link-level tracing. 3677 - Large amount of structural changes to accommodate the needs 3678of the upcoming python bindings 3679 - new rate control algorithm (RRAA) and a jakes propagation model 3680in the 802.11 model (Federico Maguolo). 3681 - regression test framework added 3682 - TCP delayed acknowledgements and multitasking server 3683 3684Release 3.0.11 (2008/02/15) 3685=========================== 3686 - Initial port of GTNetS TCP implementation (initial version 3687that does not support multitasking or delayed acknowledgments yet, 3688but supports a reliable stream service) 3689 - Changes to the ns-3 object model to create a TypeId-based 3690metadata system 3691 - lots of bug fixes throughout the system 3692 - tutorial updates 3693 3694Release 3.0.10 (2008/01/15) 3695=========================== 3696 - Add tutorial document content; 3697 - Valgrind option for "waf" tool; 3698 - Doxygen organization changes. 3699 3700Release 3.0.9 (2007/12/15) 3701========================== 3702 - A 802.11 model ported from Yans. This model supports: 3703 * a rather extensive PHY model 3704 * log-distance and friis propagation model 3705 * a simple set of rate control algorithms (ARF, Ideal, 3706 AARF, constant-rate) 3707 * adhoc and infrastructure mode (beacon+assoc) 3708 - Use smart pointer for Packet in the APIs 3709 - A new contrib directory with helper classes: 3710 EventGarbageCollector, Gnuplot 3711 - Tracing support for Applications 3712 - many bugs fixed 3713 3714Release 3.0.8 (2007/11/15) 3715========================== 3716 - A simple error model 3717 - Source files for ns-3 tutorial 3718 3719Release 3.0.7 (2007/10/15) 3720========================== 3721 - OLSR routing protocol 3722 - A timer class 3723 - Additional mobility models (random waypoint, random 2D walk) 3724 - A mobility visualization tool 3725 3726Release 3.0.6 (2007/09/15) 3727========================== 3728 - Static multicast IPv4 routing 3729 - Logging overhaul (NS_LOG macros) 3730 - Refactoring of tracing subsystem 3731 - Tutorial document started 3732 3733Release 3.0.5 (2007/08/15) 3734========================== 3735 3736 - Refactoring to support win32-based unix environments (Cygwin, mingw) 3737 - "Packet socket" for allowing applications to access NetDevices directly 3738 - Generalized, polymorphic Address class 3739 - Add CSMA NetDevice model (from Emmanuelle Laprise) 3740 - Modularize IPv4 routing support (from Gustavo Carneiro) 3741 - Add mobility framework and basic mobility models 3742 - Global unicast centralized routing 3743 3744Release 3.0.4 (2007/07/15) 3745========================== 3746 3747 - Enable waf as the default build system. 3748 - Per-packet metadata: a system to track which headers and trailers 3749 are added to a packet 3750 - Simplifications to point-to-point devices and channel 3751 3752Release 3.0.3 (2007/06/15) 3753========================== 3754 3755 - Enable Waf for release tarballs: users can now build ns-3 3756 with the "waf" tool. See doc/build-waf.txt. 3757 - Add support for variable time precision: it is now possible 3758 to run a simulation with an accuracy which is higher or lower 3759 than a nanosecond: seconds, milliseconds, microseconds, 3760 femtoseconds and picoseconds are supported. 3761 - Optimize and rework the COM framework, solidify the component 3762 manager 3763 - Many small API cleanups 3764 3765Release 3.0.2 (2007/05/18) 3766========================== 3767 3768 - Implement a new memory management infrastructure based 3769 on reference counting and smart pointers (the latter being 3770 optional) 3771 3772 - Implement a COM-like framework with support for QueryInterface 3773 to provide object extensibility 3774 3775 - Add support for a BSD-style socket API for user applications 3776 3777Release 3.0.1 (2007/03/31) 3778========================== 3779 3780 - First public release; not yet pre-alpha. 3781 3782 - Simple UDP-based simulation script (examples/simple-p2p.cc) 3783