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