|
|
|
|
1 |
|
| 2 |
ns-3 RELEASE NOTES |
| 3 |
|
| 4 |
This file contains ns-3 release notes (most recent releases first). |
| 5 |
|
| 6 |
All of the ns-3 documentation is accessible from the ns-3 website: |
| 7 |
http://www.nsnam.org including tutorials: http://www.nsnam.org/tutorials.html |
| 8 |
|
| 9 |
Consult the file CHANGES.html for more detailed information about changed |
| 10 |
API and behavior across ns-3 releases. |
| 11 |
|
| 12 |
Release 3.18 |
| 13 |
============ |
| 14 |
|
| 15 |
Availability |
| 16 |
------------ |
| 17 |
This release is available from: |
| 18 |
http://www.nsnam.org/release/ns-allinone-3.18.tar.bz2 |
| 19 |
|
| 20 |
Supported platforms |
| 21 |
------------------- |
| 22 |
|
| 23 |
New user-visible features |
| 24 |
------------------------- |
| 25 |
- Time attributes can now be bounded. See attribute-test-suite.cc for an |
| 26 |
example. |
| 27 |
- Data collection components have been added to the stats module. These |
| 28 |
components can be used to generate time series data in files and plots. |
| 29 |
- IPv6 address class 2001:db8::/32 is now dropped by routers (RFC 3849). |
| 30 |
- New generic hash function interface. Two hash functions are provided: |
| 31 |
murmur3 (default), and the venerable FNV1a. See the Hash Functions |
| 32 |
section in the Manual. |
| 33 |
- New Mac16Address has been added, Mac64Address is now in-line with |
| 34 |
Mac48Address and all the three can be used in IPv6 autoconfigure. |
| 35 |
- Previously, the use of Building models was limited to the use of the |
| 36 |
companion BuildingsMobilityModel. Now, any MobilityModel can be |
| 37 |
used with Building models. |
| 38 |
- The latest LTE module code by the LENA project has been merged, |
| 39 |
including the following new features: |
| 40 |
- PHY support for UE measurements (RSRP and RSRQ) |
| 41 |
- RRC support for UE measurements (configuration, execution, reporting) |
| 42 |
- Automatic Handover trigger based on RRC UE measurement reports |
| 43 |
- IPv6 can now detect and use Path-MTU. See |
| 44 |
examples/ipv6/fragmentation-ipv6-two-MTU.cc for an example. |
| 45 |
- Radvd application have a new Helper. See the updated |
| 46 |
examples/ipv6/radvd.cc for an example. |
| 47 |
- 11n- It is now possible to create a high throughput (HT) node that used the new 11n data rates and preambles. |
| 48 |
- It is now possible to request printing command line arguments to the |
| 49 |
desired output stream using PrintHelp or operator << |
| 50 |
|
| 51 |
Bugs fixed |
| 52 |
---------- |
| 53 |
- Bug 760 - IP address removal can be painful |
| 54 |
- Bug 1190 - Suppress hello if bcast was sent within the last hello interval |
| 55 |
- Bug 1296 - Enhancement in Ipv[4,6]RoutingHelper |
| 56 |
- Bug 1390 - ICMPv6 Redirect are handled correctly only for /64 networks |
| 57 |
- Bug 1522 - Hidden node scenario leads to ARP failure |
| 58 |
- Bug 1584 - Old Association Request Timeouts are not canceled |
| 59 |
- Bug 1629 - Make AODV Default to Disable Hello |
| 60 |
- Bug 1643 - NdiscCache creation and existence checks |
| 61 |
- Bug 1646 - ICMPv6 Redirect are sent from global address instead of link-local |
| 62 |
- Bug 1662 - m_type not set for Ipv6OptionRouterAlertHeader |
| 63 |
- Bug 1678 - C++11 compliance problem with std::pair" |
| 64 |
- Bug 1682 - ./waf crashes on FC10 |
| 65 |
- Bug 1683 - IPv6 autoconfigured don't use *infinite* lifetimes |
| 66 |
- Bug 1669 - ns-3 should support binding two and three (possibly more) arguments |
| 67 |
- Bug 1675 - Throughput computation error in Wireless examples |
| 68 |
- Bug 1687 - wscript features report doesn't respect NOCOLOR |
| 69 |
- Bug 1688 - Routers should advertise themselves from the link-local address |
| 70 |
- Bug 1689 - IPv6 shouldn't add a default gateway without checking the Router lifetime |
| 71 |
- Bug 1690 - missing header files from wifi wscript |
| 72 |
- Bug 1697 - ICMPv6 Redirect trigger contains multiple bugs |
| 73 |
- Bug 1698 - mobility.SetPositionAllocator misses prefix "ns3::" |
| 74 |
- Bug 1700 - Ipv6RawSocket does not honor the bound address when sending packets |
| 75 |
- Bug 1701 - Ipv6StaticRouting: the source address should match the destination scope |
| 76 |
- Bug 1702 - Ipv6InterfaceContainer::SetRouter should not always add the router as the default router. |
| 77 |
- Bug 1703 - Nodes don't react to a DAD |
| 78 |
- Bug 1712 - The IP (v4 and v6) forwarding needs a test |
| 79 |
- Bug 1718 - Ipv4StaticRouting log component is misspelled |
| 80 |
- Bug 1720 - IPv6 Fragmentation cause crashes |
| 81 |
- Bug 1721 - Path MTU isn't handled properly |
| 82 |
- Bug 1723 - name clash in ipv4-header.h with <termios.h> |
| 83 |
- Bug 1727 - Ping6 should use a proper source address |
| 84 |
- Bug 1728 - Radvd application is missing an Helper |
| 85 |
- Bug 1731 - lte-phy-error-model passes unexpectedly |
| 86 |
- Bug 1738 - strict aliasing compiler bug |
| 87 |
- Bug 1742 - IPv6 HbH and Dst Extension Header size is not correctly calculated |
| 88 |
- Bug 1752 - RadvdInterface m_defaultLifeTime is set to milliseconds instead of seconds |
| 89 |
- Bug 1753 - Halting Issue with DistributedSimulatorImpl |
| 90 |
- Bug 1754 - Missing GIL lock in generated callback destructor |
| 91 |
|
| 92 |
Known issues |
| 93 |
------------ |
| 94 |
In general, known issues are tracked on the project tracker available |
| 95 |
at http://www.nsnam.org/bugzilla/ |
| 96 |
|
| 97 |
Release 3.17 |
| 98 |
============ |
| 99 |
|
| 100 |
Availability |
| 101 |
------------ |
| 102 |
This release is available from: |
| 103 |
http://www.nsnam.org/release/ns-allinone-3.17.tar.bz2 |
| 104 |
|
| 105 |
Supported platforms |
| 106 |
------------------- |
| 107 |
These platforms have been tested; others may work also: |
| 108 |
- Fedora Core 18 (32/64 bit) with g++-4.7.2 |
| 109 |
- Fedora Core 17 (32/64 bit) with g++-4.7.0 |
| 110 |
- Ubuntu 13.04 (32/64 bit) with g++-4.7.3 |
| 111 |
- Ubuntu 12.10 (32/64 bit) with g++-4.6.3 |
| 112 |
- Ubuntu 12.04 (32/64 bit) with g++-4.6.3 |
| 113 |
- Ubuntu 10.04.4 LTS (64 bit) with g++-4.4.3 |
| 114 |
- OS X Mountain Lion 10.8.3 with g++-4.2.1 |
| 115 |
- FreeBSD 9.1-RELEASE (64 bit) with g++-4.2.1 |
| 116 |
|
| 117 |
New user-visible features |
| 118 |
------------------------- |
| 119 |
- new TCP Westwood and Westwood+ models |
| 120 |
- new FdNetDevice model and associated helpers. The FdNetDevice is able |
| 121 |
to read and write from a file descriptor. Various helpers are provided |
| 122 |
to associate this descriptor with underlying devices or sockets on the |
| 123 |
host operating system, including a packet socket for emulation, and |
| 124 |
tap devices including a version specialized for use on PlanetLab. |
| 125 |
- ns-3-click: it's now possible to (i) have Click pull random numbers from |
| 126 |
ns-3 and (ii) have ns-3 set "defines" in Click via the simulation file |
| 127 |
(see src/click/examples/nsclick-defines.cc). |
| 128 |
- Waf shipped with ns-3 has been upgraded to version 1.7.10 and custom |
| 129 |
pkg-config generator has been replaced by Waf's builtin tool. |
| 130 |
- create-module.py script has been updated to work with waf 1.7 and support |
| 131 |
for creating modules with names containing dashes has been added. |
| 132 |
- the M5 release of the LTE module by the LENA project has been |
| 133 |
merged; please see src/lte/RELEASE_NOTES for more detailed info |
| 134 |
|
| 135 |
Bugs fixed |
| 136 |
---------- |
| 137 |
- bug 1256 - Unnecessary SND.NXT advance, missing ACK for Out of Order segments |
| 138 |
- bug 1318 - Ipv6L3Protocol::LocalDeliver can get stuck in an infinte loop |
| 139 |
- bug 1409 - Add an attribute "SystemId" to configure the ID for MPI |
| 140 |
- bug 1421 - Frequency dependent propagation loss models need uniform Frequency / Lambda attribute |
| 141 |
- bug 1434 - DSR throughput not comparable to other protocols for manet example |
| 142 |
- bug 1502 - Shutdown on tcp socket seems to misbehave |
| 143 |
- bug 1503 - BlockAckManager infine loop |
| 144 |
- bug 1517 - Waf clean/distclean doesn't remove the doc/html directory |
| 145 |
- bug 1540 - Waf not finding click libraries |
| 146 |
- bug 1549 - Test for NS_LOG |
| 147 |
- bug 1556 - Uses of htonl making OpenFlow's match field error |
| 148 |
- bug 1563 - Reduce valgrind test scope |
| 149 |
- bug 1564 - Packet meta data isn't shown in dumbbell-animation.xml |
| 150 |
- bug 1566 - WiFi SNR tag improvements |
| 151 |
- bug 1568 - Deserialized addresses are implicity marked as Mac48Address |
| 152 |
- bug 1569 - droptail_vs_red example doesn't run |
| 153 |
- bug 1570 - Valgrind errors in new test examples |
| 154 |
- bug 1574 - Node color overwritten, by mobility updates in netanim |
| 155 |
- bug 1575 - Invert the y-axis in netanim |
| 156 |
- bug 1576 - Frequency units HERTZ and MEGAHERTZ mix up |
| 157 |
- bug 1577 - Typo in ascii picture in example aodv script |
| 158 |
- bug 1579 - edca-txop-n fragmentation causes segfault |
| 159 |
- bug 1582 - IPv6 raw socket return value is not like Linux socket |
| 160 |
- bug 1585 - Length field of A-MSDU subframe header endianness |
| 161 |
- bug 1586 - Building documentation fails if make runs in parallel |
| 162 |
- bug 1588 - UdpEchoServer::HandleRead logs fail when using Ipv6 |
| 163 |
- bug 1589 - Bake - support pre-2.7 version of python |
| 164 |
- bug 1590 - Bake - more autotools version support |
| 165 |
- bug 1595 - Function declarations without implementations cause problems with dsr module's python bindings |
| 166 |
- bug 1596 - Inet TopologyReader is skipping one link and duplicating another one |
| 167 |
- bug 1600 - Icmpv6OptionLinkLayerAddress can only carry 48 bit addresses correctly |
| 168 |
- bug 1601 - RttEstimator doesn't set the m_currentEstimatedRtt to m_initialEstimatedRtt on creation |
| 169 |
- bug 1602 - waf build can break due to file collisions in higher-level directory |
| 170 |
- bug 1603 - random-variable-stream-helper - this unavalable for static member functions |
| 171 |
- bug 1607 - OnOffApplication over TCP with IPv6 support |
| 172 |
- bug 1608 - DSR Network ACK is not handled correctly |
| 173 |
- bug 1609 - Route Request table is needed |
| 174 |
- bug 1612 - pyviz (visualizer) will not be installed |
| 175 |
- bug 1613 - Can't build ns-3-dev with g++ 4.7.2 |
| 176 |
- bug 1615 - Adjusting OLSR HelloInterval Attribute results in no links |
| 177 |
- bug 1618 - bake.py not detecting install of libxml2-dev on ubuntu |
| 178 |
- bug 1623 - pybindgen rev809 is not able to build after Ubuntu 1210 |
| 179 |
- bug 1625 - ns-3-dev fails to build on Debian wheezy amd64 |
| 180 |
- bug 1626 - ipv6-only network can't use UDP or TCP |
| 181 |
- bug 1632 - Prepend bake build directory to the guessed locations |
| 182 |
that waf will look to find libraries |
| 183 |
- bug 1633 - Bake - should not report that it is downloading qt4 when it is already installed |
| 184 |
- bug 1635 - Small bug without Simulator::Destroy() |
| 185 |
- bug 1636 - Compilation error flagged as unmet dependency |
| 186 |
- bug 1637 - Bake calling apt-get for unpriviledged user |
| 187 |
- bug 1639 - bake.py support for linux mint |
| 188 |
- bug 1640 - bake needs to test for g++ |
| 189 |
- bug 1641 - bake reports autotools dependency, but needs automake |
| 190 |
- bug 1661 - Variable ub1 defined but not used in ipv6-address.cc |
| 191 |
|
| 192 |
Known issues |
| 193 |
------------ |
| 194 |
In general, known issues are tracked on the project tracker available |
| 195 |
at http://www.nsnam.org/bugzilla/ |
| 196 |
|
| 197 |
Release 3.16 |
| 198 |
============ |
| 199 |
|
| 200 |
Availability |
| 201 |
------------ |
| 202 |
This release is available from: |
| 203 |
http://www.nsnam.org/release/ns-allinone-3.16.tar.bz2 |
| 204 |
|
| 205 |
Supported platforms |
| 206 |
------------------- |
| 207 |
- Fedora Core 17 (32/64 bit) with g++-4.7.0 |
| 208 |
- Fedora Core 15 (64 bit) with g++-4.6.3 |
| 209 |
- Ubuntu 12.10 (32/64 bit) with g++-4.6.3 |
| 210 |
- Ubuntu 12.04 (32/64 bit) with g++-4.6.3 |
| 211 |
- Ubuntu 10.04.4 LTS (64 bit) with g++-4.4.3 |
| 212 |
- OS X Mountain Lion 10.8.3 with g++-4.2.1 |
| 213 |
- FreeBSD 8.2 (32 bit) with g++-4.2.1 |
| 214 |
- Cygwin 1.7.9-1 with g++-4.5.3 |
| 215 |
|
| 216 |
New user-visible features |
| 217 |
------------------------- |
| 218 |
- Support several new LTE MAC schedulers developed in GSoC 2012 project. |
| 219 |
Those schedulers include FD-MT, TD-MT, TTA, FD-BET, TD-BET, FD-TBFQ, |
| 220 |
TD-TBFQ, PSS. Here, FD and TD mean frequency domain and time domain |
| 221 |
respectively. |
| 222 |
- It's now possible to use distcc when building ns-3 by using |
| 223 |
$ CXX='distcc g++' ./waf configure |
| 224 |
$ ./waf build |
| 225 |
- Support topology generation with the (external) BRITE topology generation |
| 226 |
tool |
| 227 |
|
| 228 |
Bugs fixed |
| 229 |
---------- |
| 230 |
- bug 555 - DCF immediate access |
| 231 |
- bug 976 - wifi-wired-bridging regression test fails because of |
| 232 |
rounding errors in mobility model |
| 233 |
- bug 1055: Wrong UAN's Thorp absorption loss model formula |
| 234 |
- bug 1284 - ./test.py performance tests do not exist |
| 235 |
- bug 1324 - ns3tcp-cwnd-test-suite.cc test failing |
| 236 |
- bug 1340 - ns3tcp-loss-suite.cc tests failing |
| 237 |
- bug 1342 - ns3tcp-cwnd-test-suite.cc tests failing |
| 238 |
- bug 1345 - ns-3 builds with clang compiler >= 3.0 |
| 239 |
- bug 1359 - TCP cannot receive ICMP |
| 240 |
- bug 1361 - Set TOS from Application level (sockets) |
| 241 |
- bug 1463 - ./test.py --example should automatically detect the path |
| 242 |
- bug 1479 - When the Ipv4RawSocket "IpHeaderInclude" Attribute set true, |
| 243 |
Ip Checksum error |
| 244 |
- bug 1485 - Setting global properties in config file (raw text) does |
| 245 |
not have any effect |
| 246 |
- bug 1493 - test.py --list should show the test type default tip |
| 247 |
- bug 1493 - test.py --list should show the test type |
| 248 |
- bug 1494 - test.py --constrain doesn't work |
| 249 |
- bug 1495 - test.py claims test passed when no test was run |
| 250 |
- bug 1506: TCP data segment piggybacking acknowledgment |
| 251 |
- bug 1509 - RttEstimator returns invalid value in presence of errors |
| 252 |
- bug 1516 - GtkConfigStore does not show read-only attributes |
| 253 |
- bug 1520 - Config paths not fully documented (partial fix) |
| 254 |
- bug 1524 - Fragmentation Threshold equals to Packet Size at MAC Layer |
| 255 |
(Data + IP + UDP) crash the reception |
| 256 |
- bug 1525 - Linker error with mpi on Mac 10.8 |
| 257 |
- bug 1526: Wrong calculation of pathloss within |
| 258 |
UanPropModelThorp::GetPathLossDb |
| 259 |
- bug 1527 - Ipv4RawSocket's BindToNetDevice not working |
| 260 |
- bug 1528 - BindToNetDevice not working for IPv6 sockets |
| 261 |
- bug 1531 - Crash when using NS_LOG in destructors of static objects |
| 262 |
- bug 1532 - unimplemented LTE Scheduler methods |
| 263 |
|
| 264 |
Known issues |
| 265 |
------------ |
| 266 |
In general, known issues are tracked on the project tracker available |
| 267 |
at http://www.nsnam.org/bugzilla/ |
| 268 |
|
| 269 |
Release 3.15 |
| 270 |
============ |
| 271 |
|
| 272 |
Availability |
| 273 |
------------ |
| 274 |
This release is available from: |
| 275 |
http://www.nsnam.org/release/ns-allinone-3.15.tar.bz2 |
| 276 |
|
| 277 |
Supported platforms |
| 278 |
------------------- |
| 279 |
- Fedora Core 17 (32/64 bit) with g++-4.7.0 |
| 280 |
- Fedora Core 15 (64 bit) with g++-4.6.3 |
| 281 |
- Ubuntu 12.04 (32/64 bit) with g++-4.6.3 |
| 282 |
- Ubuntu 10.04.4 LTS (64 bit) with g++-4.4.3 |
| 283 |
- OS X Mountain Lion 10.7.4 with g++-4.2.1 |
| 284 |
- OS X Snow Leopard 10.6.8 with g++-4.2.1 |
| 285 |
- FreeBSD 8.2 (32 bit) with g++-4.2.1 |
| 286 |
- Cygwin 1.7.9-1 with g++-4.5.3 |
| 287 |
|
| 288 |
New user-visible features |
| 289 |
------------------------- |
| 290 |
- A new random variable base class called 'RandomVariableStream', has been |
| 291 |
introduced. This base class derives from ns3::Object, unlike the current |
| 292 |
'RandomVariable' class which is a special type of object in the ns-3 |
| 293 |
system to date. By making this class derive from ns3::Object, it can be |
| 294 |
handled with the Ptr class, can carry attributes, and can have its parameters |
| 295 |
and initial state saved in the config-store subsystem. A new attribute |
| 296 |
called "Stream" has been introduced for this class, to allow users to |
| 297 |
better control the assignment of underlying pseudo-random sequences to |
| 298 |
the RandomVariableStream objects (bug 101). |
| 299 |
|
| 300 |
Bugs fixed |
| 301 |
---------- |
| 302 |
- bug 101 - random variable initialization |
| 303 |
- bug 1256 - Unnecessary SND.NXT advance, missing ACK for Out of Order segments |
| 304 |
- bug 1308 - Nix-vector; do not process packets to self |
| 305 |
- bug 1386 - assert if PositionAllocator not provided to |
| 306 |
RandomWaypointMobilityModel |
| 307 |
- bug 1399 - TCP not backing off retransmissions properly |
| 308 |
- bug 1441 - IPv4 header length handling |
| 309 |
- bug 1464 - ConfigStore Save + Load => Could not set default value |
| 310 |
for ns3::UdpSocketImpl::IcmpCallback |
| 311 |
- bug 1470 - define default parameter for constructor in .h file |
| 312 |
- bug 1473 - GetQueue/SetQueue missing from Csma python bindings |
| 313 |
- bug 1475 - "test.py --list" should sort the output |
| 314 |
- bug 1476 - TestCase::GetName () should not be private |
| 315 |
- bug 1477 - Click doesn't work with raw sockets |
| 316 |
- bug 1481 - Openflow example doesn't run |
| 317 |
- bug 1486 - Segfaults in nix-vector-routing with bridges |
| 318 |
- bug 1489 - Jakes Log component is missing |
| 319 |
- fixed bug with multiple LCs in UL BSR |
| 320 |
- fixed bug with lena-dual-stripe crashes with --homeUesHomeEnbRatio=2 |
| 321 |
|
| 322 |
Known issues |
| 323 |
------------ |
| 324 |
In general, known issues are tracked on the project tracker available |
| 325 |
at http://www.nsnam.org/bugzilla/ |
| 326 |
|
| 327 |
Release 3.14.1 |
| 328 |
============== |
| 329 |
|
| 330 |
Availability |
| 331 |
------------ |
| 332 |
This release is available from: |
| 333 |
http://www.nsnam.org/release/ns-allinone-3.14.1.tar.bz2 |
| 334 |
|
| 335 |
Bugs fixed |
| 336 |
---------- |
| 337 |
This hotfix release contains a fix for the PyViz visualizer and makes it |
| 338 |
easier to add PyViz support to examples; otherwise it is the same as the |
| 339 |
ns-3.14 release. |
| 340 |
|
| 341 |
Release 3.14 |
| 342 |
============ |
| 343 |
|
| 344 |
Availability |
| 345 |
------------ |
| 346 |
This release is available from: |
| 347 |
http://www.nsnam.org/release/ns-allinone-3.14.tar.bz2 |
| 348 |
|
| 349 |
Supported platforms |
| 350 |
------------------- |
| 351 |
ns-3.14 has been tested on the following platforms. Not all features are |
| 352 |
available on all platforms; check the Installation page on the project wiki. |
| 353 |
|
| 354 |
- Fedora Core 17 (32/64 bit) with g++-4.7.0 |
| 355 |
- Fedora Core 16 (32/64 bit) with g++-4.6.3 |
| 356 |
- Fedora Core 15 (64 bit) with g++-4.6.3 |
| 357 |
- Ubuntu 12.04 (32/64 bit) with g++-4.6.3 |
| 358 |
- Ubuntu 11.10 (32 bit) with g++-4.6.1 |
| 359 |
- Ubuntu 10.04.4 LTS (64 bit) with g++-4.4.3 |
| 360 |
- OS X Lion 10.7.4 with g++-4.2.1 |
| 361 |
- OS X Snow Leopard 10.6.8 with g++-4.2.1 |
| 362 |
- FreeBSD 8.2 (32 bit) with g++-4.2.1 |
| 363 |
- Cygwin 1.7.9-1 with g++-4.5.3 |
| 364 |
|
| 365 |
New user-visible features |
| 366 |
------------------------- |
| 367 |
- Transport protocol implementations (TCP, UDP) have been refactored to |
| 368 |
support also IPv6 connections. Dual-stacked IPv6 sockets are implemented. |
| 369 |
An IPv6 socket can accept an IPv4 connection, returning the sender's |
| 370 |
address as an IPv4-mapped address (IPV6_V6ONLY socket option is not |
| 371 |
implemented). |
| 372 |
- The LTE code from the LENA project has been merged, bringing in a |
| 373 |
significant redesign of the LTE module as well as many new features. |
| 374 |
- An antenna module is now included, which includes different |
| 375 |
radiation pattern models. See the corresponding new section of the |
| 376 |
ns-3 models library documentation for details. |
| 377 |
- A new buildings module is introduced which allows to model the |
| 378 |
presence of buildings in a wireless network topology. |
| 379 |
- New propagation models (OkumuraHata, ITU-R P.1411, ITU-R P.1238) |
| 380 |
have been added |
| 381 |
- The Dynamic Source Routing (DSR) MANET routing protocol for IPv4 was added. |
| 382 |
- A Random Early Detection (RED) queue model has been added. |
| 383 |
- Ipv6RoutingHelper is now in-line with Ipv4RoutingHelper concerning the RT |
| 384 |
print functions. Various minor changes were made in Ipv6RoutingProtocol and |
| 385 |
derived classes to make this possible. |
| 386 |
- New "SendIcmpv6Redirect" attribute (and getter/setter functions) to |
| 387 |
Ipv6L3Protocol. The behavior is similar to Linux's conf "send_redirects", |
| 388 |
i.e., enable/disable the ICMPv6 Redirect sending. |
| 389 |
- Longer and more descriptive names are used for error units in RateErrorModel |
| 390 |
class and queue mode in Queue class. Attributes in those classes are also |
| 391 |
changed for consistency. See API documentation for details. |
| 392 |
- The netanim animator is now bundled with the release. |
| 393 |
|
| 394 |
Bugs fixed |
| 395 |
---------- |
| 396 |
- bug 603 - Simulator::Next is useless |
| 397 |
- bug 631 - RealtimeSimulatorImpl does not handle Ctrl-C with python bindings |
| 398 |
- bug 962 - list of paths to reach objects contains bogus entries |
| 399 |
- bug 1000 - Make RealtimeSimulatorImpl last until stop |
| 400 |
- bug 1053 - Need better error diagnostics in ns2-mobility-trace example |
| 401 |
- bug 1109 - Point out the effects of ArpCache::PendingQueueSize |
| 402 |
- bug 1179 - Add LTE trace hooks for supporting visualizer |
| 403 |
- bug 1180 - LTE: Add TX/RX trace support |
| 404 |
- bug 1273 - Better error message on missing Python development files |
| 405 |
- bug 1282 - Sleep state and CCA |
| 406 |
- bug 1283 - PacketSocket::SendTo should return number of bytes |
| 407 |
- bug 1302 - Flow monitor bug |
| 408 |
- bug 1304 - Tag information changed after transmission |
| 409 |
- bug 1313 - Stddev (average.h) returning NaN |
| 410 |
- bug 1318 - Asserts for IPv6 malformed packets |
| 411 |
- bug 1319 - Fix Ipv6RawSocketImpl Icmpv6 filter |
| 412 |
- bug 1325 - Python examples get valgrind errors when build subdirectories |
| 413 |
are specified in waf |
| 414 |
- bug 1339 - test.py uses the old name for the test runner |
| 415 |
- bug 1348 - python bindings: deprecated conversion from string constant |
| 416 |
to ‘char*’ |
| 417 |
- bug 1349 - TypeId.LookupAttributeByName Python bindings missing |
| 418 |
- bug 1350 - Simulator.ScheduleWithContext Python binding missing |
| 419 |
- bug 1351 and 1333 - TCP not able to take RTT samples on long delay network |
| 420 |
- bug 1352 - Fixed MapAttributes, previously was mapped to a vector in |
| 421 |
ObjectPtrContainer and (and key information was dropped). |
| 422 |
Now the container is a map. |
| 423 |
- bug 1354 - Building scratch subdir programs is broken |
| 424 |
- bug 1355 - Visualizer dependencies not detected at buildtime |
| 425 |
- bug 1357 - IPv6 fragmentation fails due to checks about malformed extensions |
| 426 |
- bug 1362 - ICMPv6 does not forward ICMPs to upper layers (and minor |
| 427 |
fixes to ICMPv6) |
| 428 |
- bug 1376 - wrong wind variable's name |
| 429 |
- bug 1378 - UdpEchoClient::SetFill () does not set packet size correctly |
| 430 |
- bug 1379 - lte-multiple-flows example crashes |
| 431 |
- bug 1380 - lte-phy-uplink example crashes |
| 432 |
- bug 1391 - .ns3rc does not allow comments as expected |
| 433 |
- bug 1392 - Modules built report does not clarify C++ or Python |
| 434 |
- bug 1393 - IPv6 Routing Helper RT Print functions |
| 435 |
- bug 1395 - AODV DeferredRouteOutputTag missing constructor |
| 436 |
- bug 1396 - ARP with hardware addresses longer than 6 bytes |
| 437 |
- bug 1399 - TCP not backing off retransmissions properly |
| 438 |
- bug 1404 - Bound user input in tutorial third.cc program |
| 439 |
- bug 1406 - waf exits with maximum recursion depth exceeded |
| 440 |
- bug 1415 - examples-to-run.py doesn't work with command line arguments |
| 441 |
- bug 1420 - no python bindings for csma-layout |
| 442 |
- bug 1441 - IPv4 header length handling |
| 443 |
|
| 444 |
Known issues |
| 445 |
------------ |
| 446 |
In general, known issues are tracked on the project tracker available |
| 447 |
at http://www.nsnam.org/bugzilla/ |
| 448 |
|
| 449 |
Release 3.13 |
| 450 |
============== |
| 451 |
|
| 452 |
Availability |
| 453 |
------------ |
| 454 |
This release is available from: |
| 455 |
http://www.nsnam.org/release/ns-allinone-3.13.tar.bz2 |
| 456 |
|
| 457 |
Supported platforms |
| 458 |
------------------- |
| 459 |
ns-3.13 has been tested on the following platforms. Not all features are |
| 460 |
available on all platforms; check the Installation page on the project wiki. |
| 461 |
|
| 462 |
- Ubuntu 11.10 (32 bit) with g++-4.5.2 |
| 463 |
- Ubuntu 11.04 (32/64 bit) with g++-4.5.2 |
| 464 |
- Ubuntu 10.04.3 LTS (64 bit) with g++-4.4.3, g++-3.4.6 |
| 465 |
- OS X Lion with g++-4.2.1 |
| 466 |
- OS X Snow Leopard with g++-4.2.1 |
| 467 |
- Fedora Core 16 (32/64 bit) with g++-4.6.2 |
| 468 |
-- however, g++-3.4.6 fails on Fedora 16 i686 |
| 469 |
- Fedora Core 14 (64 bit) with g++-4.5.1 |
| 470 |
- FreeBSD 9.0-RC1 (AMD64) with g++-4.2.1 |
| 471 |
|
| 472 |
New user-visible features |
| 473 |
------------------------- |
| 474 |
- IPv6 address generator with support for duplicate address detection |
| 475 |
|
| 476 |
Bugs fixed |
| 477 |
---------- |
| 478 |
- bug 962 - list of paths to reach objects contains bogus entries |
| 479 |
- bug 1001 - Buffer::CopyData() doesn't return the number of bytes copied |
| 480 |
- bug 1010 - Uan model sleep patch |
| 481 |
- bug 1020 - Wrong usage of the originator sequence number in HWMP PREP |
| 482 |
- bug 1021 - Beacon collision avoidance in Mesh module works incorrectly |
| 483 |
- bug 1039 - Nagle's algorithm in TCP |
| 484 |
- bug 1055 - Wrong UAN's Thorp absorption loss model formula |
| 485 |
- bug 1059 - Unable to load trace files created from SUMO and TraNS Lite |
| 486 |
- bug 1112 - Advance m_nextTxSequence upon retransmit after RTO |
| 487 |
- bug 1137 - mpi module is hard-coded for openmpi |
| 488 |
- bug 1166 - IPV4 TCP failed to send a RST when connect arrives before listen |
| 489 |
- bug 1186 - Ipv4Header lacks DSCP and ECN |
| 490 |
- bug 1204 - Can't Parse Time +100000000.0ns |
| 491 |
- bug 1219 - Coding style of ns2-mobility-helper-test-suite.cc is fixed |
| 492 |
- bug 1257 - waf install __init__ Python files even with --disable-python |
| 493 |
- bug 1263 - waf configure fails on FreeBSD 9.0-BETA2 amd64 |
| 494 |
- bug 1266 - gdb cannot be loaded |
| 495 |
- bug 1227 - Spurious RTO due to low min RTO |
| 496 |
- bug 1229 - Multiplication overflow in WaypointMobilityModel::EndMobility |
| 497 |
- bug 1242 - m_lastRtt in tcp-socket-base.cc not implemented |
| 498 |
- bug 1256 - TCP unnecessary snd.nxt advance |
| 499 |
- bug 1265 - Make ns-3 directory "movable" |
| 500 |
- bug 1269 - sqlite3 not found on FreeBSD |
| 501 |
- bug 1270 - "Checking boost includes" weirdness |
| 502 |
- bug 1278 - Ipv4ClickRouting::HandleScheduleFromClick bug |
| 503 |
- bug 1281 - Checksum not calculated when doing IP fragmentation |
| 504 |
- bug 1285 - IPv6 Localhost is marked as GLOBAL instead of HOST |
| 505 |
- bug 1290 - buffer-test.cc gets a valgrind error |
| 506 |
- bug 1295 - Missing const qualifiers in TopologyRead |
| 507 |
- bug 1299 - EnableAsciiIpv4All tracing doesn't show transmitted/recvd packets |
| 508 |
- bug 1300 - HalfDuplexIdealPhy notify SpectrumInterference of AbortRx |
| 509 |
- bug 1301 - Ns2MobilityHelper causes Node GetPosition() to return NaN |
| 510 |
- bug 1305 - do not list modules built upon exiting waf shell |
| 511 |
- bug 1312: TopologyRead Assert condition fix |
| 512 |
- IPv4 packets double fragmentation was broken |
| 513 |
- Fix wifi-clear-channel-cmu.cc example |
| 514 |
- NetAnim: fix for bcast packet reuse |
| 515 |
- Missing PropagationLossModel.CalcRxPower in Python bindings |
| 516 |
- Corrected compilation behavior in Ubuntu 11.10 due to ldd behavior change |
| 517 |
- Added required PTHREAD dependency to RT library check. |
| 518 |
|
| 519 |
Known issues |
| 520 |
------------ |
| 521 |
In general, known issues are tracked on the project tracker available |
| 522 |
at http://www.nsnam.org/bugzilla/ |
| 523 |
|
| 524 |
Release 3.12.1 |
| 525 |
============== |
| 526 |
|
| 527 |
Availability |
| 528 |
------------ |
| 529 |
This release is available from: |
| 530 |
http://www.nsnam.org/release/ns-allinone-3.12.1.tar.bz2 |
| 531 |
|
| 532 |
Bugs fixed |
| 533 |
---------- |
| 534 |
This release fixes PyViz visualizer's python bindings; otherwise, it |
| 535 |
is the same as the ns-3.12 release. |
| 536 |
|
| 537 |
Release 3.12 |
| 538 |
=========== |
| 539 |
|
| 540 |
Availability |
| 541 |
------------ |
| 542 |
This release is available from: |
| 543 |
http://www.nsnam.org/release/ns-allinone-3.12.tar.bz2 |
| 544 |
|
| 545 |
Supported platforms |
| 546 |
------------------- |
| 547 |
ns-3.12 has been tested on the following platforms. Not all features are |
| 548 |
available on all platforms; check the Installation page on the project wiki. |
| 549 |
|
| 550 |
- Fedora Core 15 (32/64 bit) with g++-4.6.0 |
| 551 |
- Ubuntu 11.04 (32/64 bit) with g++-4.5.2 |
| 552 |
- OS X Lion with g++-4.2.1 |
| 553 |
- Fedora Core 14 (64 bit) with g++-4.3.4, g++-4.5.3, g++-4.4.6 |
| 554 |
- Fedora Core 12 (64 bit) with g++-4.4.4 |
| 555 |
- OS X Snow Leopard with g++-4.2.1 |
| 556 |
- Ubuntu 10.04.3 LTS (64 bit) with g++-4.4.3, g++-3.4.6 |
| 557 |
|
| 558 |
New user-visible features |
| 559 |
------------------------- |
| 560 |
|
| 561 |
- SpectrumChannel models now support the usage of single-frequency |
| 562 |
propagation loss models based on the PropagationLossModel |
| 563 |
class. These model can be used in conjunction with |
| 564 |
the frequency-dependent propagation loss model based on the |
| 565 |
SpectrumPropagationLossModel class already supported by |
| 566 |
SpectrumChannel. |
| 567 |
|
| 568 |
- Extend the attribute system extend the attribute system to store map |
| 569 |
container objects in addition to vector containers. The ObjectMap |
| 570 |
and related classes are patterned after ObjectVector. |
| 571 |
|
| 572 |
- Support for IPv4 fragmentation has been added. |
| 573 |
|
| 574 |
- Significant performance improvement for AODV in dense mobile scenarios |
| 575 |
due to a fixed bug in RERR processing. |
| 576 |
|
| 577 |
- WiFi traces that were named promiscuous are now renamed monitor, and |
| 578 |
a separate flag for setting the interface to promiscuous mode has been |
| 579 |
introduced. This disambiguates monitor mode from promiscuous mode. |
| 580 |
|
| 581 |
- Monolithic Python bindings have been removed |
| 582 |
|
| 583 |
Bugs fixed |
| 584 |
---------- |
| 585 |
- bug 845 - fix ConfigStore output for changing default values |
| 586 |
- bug 1010 - Uan model Sleep patch |
| 587 |
- bug 1033 - Mesh airtime-metric fixed |
| 588 |
- bug 1043 - lte-spectrum-value-helper.cc file swapped uplink/downlink freq. |
| 589 |
- bug 1050 - ISO C++ forbids variable length array; remove all instances |
| 590 |
- bug 1057 - LTE bearers differentiation issue |
| 591 |
- bug 1082 - Check that log component names are correct when taken from NS_LOG |
| 592 |
- bug 1100 - IPv6 fragmentation enhancements |
| 593 |
- bug 1102 - IPv4 header fragment offset field not set correctly |
| 594 |
- bug 1123 - class MinMaxAvgTotalCalculator does not implement all methods |
| 595 |
- bug 1134 - Fix LiIonEnergySource attribute spelling for InitialCellVoltage |
| 596 |
- bug 1139 - Broadcast packets issue in uan cw mac |
| 597 |
- bug 1141 - MeshWifiInterfaceMac adds supported modes to wrong remote station |
| 598 |
- bug 1163 - Ipv4EndPointDemux::AllocateEphemeralPort forget to increment port |
| 599 |
- bug 1164 - IPV4 TCP Bind already used port failed, but without setting errno |
| 600 |
- bug 1168 - BridgeNetDevice: default expiration time not realistic |
| 601 |
- bug 1174 - Ns-3 does not generate static libraries |
| 602 |
- bug 1175 - shared libraries are not versioned |
| 603 |
- bug 1193 - AODV Hello timers scheduling skewed when RREP, RREQ are processed |
| 604 |
- bug 1194 - AODV Incorrect RERR processing |
| 605 |
- bug 1201 - UDP sockets need to set connected state before notifying the ConnectionSucceeded callback |
| 606 |
- bug 1208 - Spectrum module example causing valgrind errors |
| 607 |
- bug 1209 - ns-3-click fails to build on Fedora 15 when tests are enabled |
| 608 |
- bug 1220 - FdReader always stops with NS_FATAL_ERROR |
| 609 |
- bug 1222 - Incomplete PointToPointNetDevice Python bindings |
| 610 |
- bug 1224 - ns-3-allinone fails to compile on OS X Lion |
| 611 |
- bug 1226 - Incomplete YansWifiChannel Python bindings |
| 612 |
- bug 1234 - GetAttributeChecker is not defined anymore but still used |
| 613 |
- bug 1239 - Add assertion that reference count never overflows |
| 614 |
- bug 1244 - Seg Faults in optimized builds due to missing Logging components |
| 615 |
- Fix ARP issue in nsclick-ip-router.click and static route in nsclick-routing-node2.click |
| 616 |
|
| 617 |
Known issues |
| 618 |
------------ |
| 619 |
In general, known issues are tracked on the project tracker available |
| 620 |
at http://www.nsnam.org/bugzilla/ |
| 621 |
|
| 622 |
Release 3.11 |
| 623 |
=========== |
| 624 |
|
| 625 |
Availability |
| 626 |
------------ |
| 627 |
This release is available from: |
| 628 |
http://www.nsnam.org/release/ns-allinone-3.11.tar.bz2 |
| 629 |
|
| 630 |
Supported platforms |
| 631 |
------------------- |
| 632 |
ns-3.11 has been tested on the following platforms. Not all features are |
| 633 |
available on all platforms; check the Installation page on the project wiki. |
| 634 |
|
| 635 |
- Linux x86_64 Ubuntu 11.04 |
| 636 |
- g++-4.5.2 |
| 637 |
- Linux i686 Ubuntu 11.04 |
| 638 |
- g++-4.5.2, g++-4.4.5 |
| 639 |
- Linux x86_64 Fedora Core 15 |
| 640 |
- g++-4.6.0 |
| 641 |
- Linux x86_64 Fedora Core 14 |
| 642 |
- g++-4.5.3, g++-4.4.6, g++-4.3.4 |
| 643 |
- Linux x86_64 Fedora Core 10 |
| 644 |
- g++-3.4.6, 4.0.4, 4.1.2, 4.2.4, 4.3.2, 4.4.0 |
| 645 |
- OS X Snow Leopard |
| 646 |
- g++-4.2.1 |
| 647 |
|
| 648 |
New user-visible features |
| 649 |
------------------------- |
| 650 |
|
| 651 |
- The build system has been modularized, and the source code reorganized, |
| 652 |
to allow for modular libraries instead of a single monolithic ns-3 |
| 653 |
library. User programs now link a number of smaller, per-module |
| 654 |
libraries depending on the dependencies expressed to the build system. |
| 655 |
Source code is now being maintained in individual modules with |
| 656 |
consistent directory structures. |
| 657 |
|
| 658 |
- Python bindings have also been modularized, and the bindings are now |
| 659 |
generated into a 'ns' namespace instead of 'ns3' for the old |
| 660 |
(monolithic) bindings. By default the bindings are now modular, with |
| 661 |
a backward compatibility layer for older programs. |
| 662 |
|
| 663 |
- By default, example and test programs are disabled from the build. |
| 664 |
Users can enable them via the use of a waf command at configure time, |
| 665 |
or automatically through the use of a new .ns3rc file. |
| 666 |
|
| 667 |
- int64x64_t is a new type which allows portable and easy to write arithmetic |
| 668 |
calculations that require a high degree of fractional precision. |
| 669 |
|
| 670 |
- An interface to the Click Modular Router and an Ipv4ClickRouting |
| 671 |
class has been added, to allow a node to use Click for external routing. |
| 672 |
|
| 673 |
- An interface to an OpenFlow software implementation distribution has |
| 674 |
been added to allow the simulation of OpenFlow switches in ns-3. |
| 675 |
|
| 676 |
- ns-3 coding style requirements have been applied to the entire coding |
| 677 |
base, resulting in a large number of whitespace changes. The coding |
| 678 |
style has been automatically enforced by running a style checking |
| 679 |
program (utils/check-style.py) that uses the uncrustify (v. 0.58) |
| 680 |
program to apply changes. |
| 681 |
|
| 682 |
- Some documentation reorganization to split documentation between |
| 683 |
the ns-3 manual (primarily focusing on the ns-3 core) and a new |
| 684 |
"model library" document has been started. |
| 685 |
|
| 686 |
Bugs fixed |
| 687 |
---------- |
| 688 |
The following lists many of the bugs fixed or small feature additions |
| 689 |
since ns-3.10, in many cases referencing the Bugzilla bug number. |
| 690 |
|
| 691 |
- bugfix: CsmaNetDevice ErrorModel not discarding packet |
| 692 |
- bugfix: do not call RouteOutput() twice |
| 693 |
- Workaround gccxml bug scanning Seconds(0) as default value |
| 694 |
- Copy a bug fix from ns3modulescan.py into ns3modulescan-modular.py |
| 695 |
- Modular Python bindings work (many bug fixes, more modules tested) |
| 696 |
- Modular bindings: bug fixes, more verbose scanning |
| 697 |
- ./waf --apiscan: fix bug in detection of whether the per-module |
| 698 |
- Remove the 'Modules to build' debug print |
| 699 |
- CsmaNetDevice ReceiveErrorModel was not dropping the packet |
| 700 |
- Several "set but not used" bugs for newer compilers quick-fixed |
| 701 |
|
| 702 |
- bug 445 - Is the class name Scalar in nstime.h appropriate? |
| 703 |
- bug 699 - TestCase::DoRun probably should not return a bool |
| 704 |
- bug 823 - Need finer-grained control over what goes into libns3 |
| 705 |
- bug 957 - Issue with test.py |
| 706 |
- bug 1017 - node --> internet-stack --> node |
| 707 |
- bug 1018 - mobility --> helper --> mobility circular dependency |
| 708 |
- bug 1019 - common --> node --> common circular dependency |
| 709 |
- bug 1038 - Time::Get*Seconds () return signed integer while actually returning unsigned. |
| 710 |
- bug 1040 - Olsr and multiple interfaces |
| 711 |
- bug 1042 - AODV RERR implosion (missing RERR_RATELIMIT) |
| 712 |
- bug 1044 - Seconds (1e-9) creates Time that is not IsPositive () |
| 713 |
- bug 1047 - Multicast routes on nodes with >16 interfaces |
| 714 |
- bug 1048 - suggested MatrixPropagationLossModel::SetLoss() API change |
| 715 |
- bug 1049 - Issues with OLSR HNA messages sent by multiple gateways |
| 716 |
- bug 1052 - olsr::RoutingProtocol::LinkTupleUpdated incorrect detection of asymetric link with multiple interface nodes |
| 717 |
- bug 1054 - ipv6 InternetStackHelper EnablePcapIpv6All() broken |
| 718 |
- bug 1056 - CSMA: padding not handled correctly for LLC encapsulation |
| 719 |
- bug 1058 - InternetStackHelper pitfall: calling Install before adding routing protocols |
| 720 |
- bug 1060 - Setting NqStaWifiMac Active Probing true, crashes simulation |
| 721 |
- bug 1061 - Title level inconsistent in click.rst |
| 722 |
- bug 1062 - rescale-pdf not working |
| 723 |
- bug 1064 - Correct Friis propagation loss equation in spectrum module |
| 724 |
- bug 1066 - Set Radiotap modulation type flags correctly |
| 725 |
- bug 1069 - ApWifiMac unduly calls RegularWifiMac::Receive and crashes |
| 726 |
- bug 1070 - csma/ipv6 examples duplicate NS_LOG_COMPONENT_DEFINE |
| 727 |
- bug 1072 - crash upon call to Packet::AddAtEnd of fragmented packets |
| 728 |
- bug 1075 - Python examples fail when static built is enabled |
| 729 |
- bug 1076 - Waf gives an error if you enable only a single module |
| 730 |
- bug 1078 - PacketTagList::Add performs NS_ASSERT counting one byte too few |
| 731 |
- bug 1079 - MPI code doesn't compile |
| 732 |
- bug 1081 - wutils.py refers to the old directory for visualizer module |
| 733 |
- bug 1083 - scratch doesn't work when only some modules are enabled |
| 734 |
- bug 1085 - Build failed: list index out of range |
| 735 |
- bug 1086 - sanity check for not calling Object::Dispose () twice |
| 736 |
- bug 1087 - Call MPI_Finalize to exit MPI environment |
| 737 |
- bug 1088 - Code in scratch directory assumes all modules are enabled |
| 738 |
- bug 1089 - lwip build issue |
| 739 |
- bug 1090 - WifiMacQueue is not accessible through the attribute path |
| 740 |
- bug 1092 - Problem building FreeBSD stack with g++ 4.5.2 (Ubuntu) |
| 741 |
- bug 1094 - Object::GetObject upon dlopen |
| 742 |
- bug 1097 - AODV routing entry set to be VALID mistakenly. |
| 743 |
- bug 1098 - when to show users which modules are enabled? |
| 744 |
- bug 1101 - Sqlite stats disappeared from configuration file src/wscript |
| 745 |
- bug 1103 - Useless assignment in omnet-data-output.cc |
| 746 |
- bug 1105 - Move topology helpers into separate per-device modules |
| 747 |
- bug 1106 - Remove "CanvasLocation" dependencies in p2p helpers |
| 748 |
- bug 1108 - test.py -e option needs repair |
| 749 |
- bug 1110 - Sort alphabetically and display "Modules built" in columns |
| 750 |
- bug 1117 - bindings failures on selected platforms |
| 751 |
- bug 1122 - spectrum-value test should check tolerance on a per-value basis |
| 752 |
- bug 1125 - ./waf --enable-modules fails |
| 753 |
- bug 1131 - Bug in Ipv4L3Protocol::RemoveAddress() |
| 754 |
- bug 1133 - DSDV: Possible bug in settling time calc |
| 755 |
- bug 1142 - Wrong 802.11p Slot time |
| 756 |
- bug 1146 - help string for test.py with disabled tests |
| 757 |
|
| 758 |
Known issues |
| 759 |
------------ |
| 760 |
In general, known issues are tracked on the project tracker available |
| 761 |
at http://www.nsnam.org/bugzilla/ |
| 762 |
|
| 763 |
Release 3.10 |
| 764 |
=========== |
| 765 |
|
| 766 |
Availability |
| 767 |
------------ |
| 768 |
This release is available from: |
| 769 |
http://www.nsnam.org/release/ns-allinone-3.10.tar.bz2 |
| 770 |
|
| 771 |
Supported platforms |
| 772 |
------------------- |
| 773 |
ns-3.10 has been tested on the following platforms. Not all features are |
| 774 |
available on all platforms; check the Installation page on the project wiki. |
| 775 |
|
| 776 |
- Linux i686 Ubuntu 10.10 |
| 777 |
- g++-4.4.5 |
| 778 |
- Linux x86_64 Ubuntu 8.04.4 |
| 779 |
- g++-3.4.6, g++-4.2.4 |
| 780 |
- Linux x86_64 Fedora Core 12 |
| 781 |
- g++-4.4.4 |
| 782 |
- Linux x86_64 Fedora Core 10 |
| 783 |
- g++-3.4.6, 4.0.4, 4.1.2, 4.2.4, 4.3.4, 4.4.0 |
| 784 |
- OS X Snow Leopard |
| 785 |
- g++-4.2.1 |
| 786 |
- OS X powerpc Leopard |
| 787 |
- g++-4.0, g++-4.2 |
| 788 |
|
| 789 |
New user-visible features |
| 790 |
------------------------- |
| 791 |
|
| 792 |
- NS-3 PyViz, a live simulation visualizer, has been added. The |
| 793 |
visualizer interacts with a running simulation, such that it uses no |
| 794 |
trace files. It can be most useful for debugging purposes, i.e. to |
| 795 |
figure out if mobility models are what you expect, where packets are |
| 796 |
being dropped, etc. There is also a builtin interactive python console |
| 797 |
that can be used to debug the state of the running objects. Although |
| 798 |
it is mostly written in Python, it works both with Python and pure C++ |
| 799 |
simulations. |
| 800 |
|
| 801 |
- Wi-Fi MAC high classes have been reorganised in attempt to |
| 802 |
consolidate shared functionality into a single class. This new |
| 803 |
class is RegularWifiMac, and it derives from the abstract |
| 804 |
WifiMac, and is parent of AdhocWifiMac, StaWifiMac, ApWifiMac, |
| 805 |
and MeshWifiInterfaceMac. The QoS and non-QoS class variants are |
| 806 |
no longer, with a RegularWifiMac attribute "QosSupported" |
| 807 |
allowing selection between these two modes of |
| 808 |
operation. |
| 809 |
|
| 810 |
- Support for IEEE 802.11g (specifically, rates with Modulation |
| 811 |
Class ERP-OFDM) has been added to the wifi module. The new |
| 812 |
WifiModes have names of the form ErpOfdmRatexxMbps, where xx is |
| 813 |
the rate in Mbps (one of 6, 9, 12, 18, 24, 36, 48, 54), and a |
| 814 |
WifiPhyStandard enumeration WIFI_PHY_STANDARD_80211g has been |
| 815 |
added to allow configuration of a Wi-Fi STA supporting ERP-OFDM, |
| 816 |
HR/DSSS, and DSSS rates (which some call an "802.11b/g" station). |
| 817 |
|
| 818 |
- Two attributes were added to WaypointMobilityModel. The first |
| 819 |
"LazyNotify" (default false), if enabled to true, will suppress |
| 820 |
course change notifications if there are no position updates. |
| 821 |
The second, "InitialPositionIsWaypoint" (default false), if enabled, |
| 822 |
will allow an initial call to SetPosition () (before any waypoints |
| 823 |
have been added) to be treated as the first waypoint. |
| 824 |
|
| 825 |
- Regression testing is now completely performed within test.py |
| 826 |
rather than a separate "./waf --regression" that consults |
| 827 |
reference traces in the ns-3.x-ref-traces directory. In most |
| 828 |
cases, the example programs whose traces were included in |
| 829 |
ns-3.x-ref-traces have a corresponding test called from the |
| 830 |
test.py program. It is still possible to write trace-based |
| 831 |
regression tests but they are now called from the test.py |
| 832 |
program. |
| 833 |
|
| 834 |
- New BulkSendApplication sends data as fast as possible up to |
| 835 |
MaxBytes or unlimited if MaxBytes is zero. Think OnOff, but |
| 836 |
without the "off" and without the variable data rate. This |
| 837 |
application only works with SOCK_STREAM and SOCK_SEQPACKET |
| 838 |
sockets, for example TCP sockets and not UDP sockets. |
| 839 |
|
| 840 |
- Extensions to the energy models: 1) a new Rakhmatov Vrudhula |
| 841 |
non-linear battery model, 2) additional support for modeling |
| 842 |
energy consumption in WiFi devices, 3) an example for how to add |
| 843 |
energy models to a WiFi-based simulation (in examples/energy/ |
| 844 |
directory). |
| 845 |
|
| 846 |
- New methods to print IPv4 routing tables to an output stream. |
| 847 |
|
| 848 |
- A replacement implementation for TCP for IPv4. TcpSocketBase |
| 849 |
now replaces TcpSocketImpl. There are subclasses defined for |
| 850 |
TCP Tahoe, Reno, NewReno, and the original RFC793 without |
| 851 |
congestion control. |
| 852 |
|
| 853 |
- Energy support for UAN module and Li-Ion energy model. |
| 854 |
Now each network node can have an associated energy source |
| 855 |
from which it consumes energy. The user can specify a custom |
| 856 |
energy model for the underwater transducer, with default values |
| 857 |
set for WHOI acoustic transducer. Li-Ion battery model added |
| 858 |
into energy models folder. |
| 859 |
|
| 860 |
- Destination-Sequenced Distance Vector (DSDV) routing protocol |
| 861 |
is a proactive, table-driven routing protocol for MANETs |
| 862 |
developed by Charles E. Perkins and Pravin Bhagwat in 1994. |
| 863 |
This implementation is for IPv4 routing and was contributed |
| 864 |
by ResilNets Research Group. |
| 865 |
|
| 866 |
- A novel model to simulate LTE networks has been added. It focuses |
| 867 |
mainly on modeling the E-UTRA part of the system, with a particular |
| 868 |
attention on the aspects related to the channel, PHY and MAC layers. |
| 869 |
The most important features available at this moment are (i) a basic |
| 870 |
implementation of both the UE and the eNB devices, (ii) RRC and |
| 871 |
entities for both the UE and the eNB, (iii) an Adaptive Modulation |
| 872 |
and Coding (AMC) scheme for the downlink, (iv) the management of the |
| 873 |
data radio bearers (with their QoS parameters), the MAC queues and |
| 874 |
the RLC instances, (v) Channel Quality Indicator (CQI) management, |
| 875 |
(vi) support for both uplink and downlik packet scheduling, |
| 876 |
(vii) a PHY layer model with Resource Block level granularity, and |
| 877 |
(viii) a channel model with the outdoor E-UTRAN propagation loss |
| 878 |
model. |
| 879 |
|
| 880 |
- Project documentation has been converted from GNU Texinfo to Sphinx. |
| 881 |
|
| 882 |
Bugs fixed |
| 883 |
---------- |
| 884 |
The following lists many of the bugs fixed or small feature additions |
| 885 |
since ns-3.9, in many cases referencing the Bugzilla bug number |
| 886 |
|
| 887 |
- bug 824 - TCP should implement FastRecovery by default |
| 888 |
- bug 852 - Add support for 802.11g devices |
| 889 |
- bug 892 - WaypointMobilityModel incompatible with MobilityHelper::Install |
| 890 |
- bug 893 - Lazy CourseChange notification for WaypointMobilityModel |
| 891 |
- bug 903 - TapBridge does not shut down properly |
| 892 |
- bug 953 - WiMAX channel scanning overflow |
| 893 |
- bug 967 - Need to decouple Ipv4L4Protocols from Ipv4L3Protocol |
| 894 |
- bug 978 - Consolidate Wi-Fi MAC high functionality |
| 895 |
- bug 979 - Multi-octet fields in Wi-Fi headers have wrong endianness |
| 896 |
- bug 981 - use a cache to keep track of received MPDUs under block ack |
| 897 |
- bug 983 - handle correctly ADDBA response action frames in QadhocWifiMac |
| 898 |
- bug 984 - EmuNetDevice should use DIX encapsulation by default |
| 899 |
- bug 985 - WiMAX Invalid management message type on wimax-simple |
| 900 |
- bug 988 - MacRxMiddle::SequenceControlSmaller method |
| 901 |
- bug 990 - Error with an NS_ASSERT at uan-phy-gen.cc |
| 902 |
- bug 991 - InterferenceHelper assertion failure |
| 903 |
- bug 992 - Unusual (possibly incorrect assertion) in Packet::Deserialize |
| 904 |
- bug 993 - MinstrelWifiManager::UpdateStats useless if clause |
| 905 |
- bug 994 - PointToPointGridHelper useless if clauses |
| 906 |
- bug 995 - Useless (possibly incorrect) comparison of unsigned int |
| 907 |
- bug 1004 - module header not rebuilt |
| 908 |
- bug 1005 - GetSocket() methods for OnOffApplication and PacketSink |
| 909 |
- bug 1009 - decouple m_finSequence (TcpSocketImpl) from tx sequence numbers |
| 910 |
- bug 1012 - UAN Throp propagation model bug |
| 911 |
- bug 1015 - GetChannelFrequencyMhz() does not match with standard |
| 912 |
- bug 1022 - inappropriate ASSERT in tcp-socket-impl.cc |
| 913 |
- bug 1025 - wimax-ipv4 script exists with signal SIGSEGV when nbSS>20 |
| 914 |
- bug 1027 - RocketfuelTopologyReader is not working at all |
| 915 |
- bug 1029 - v4Ping application endian issues |
| 916 |
- bug 1030 - routing/aodv example fixed |
| 917 |
- bug 1031 - Wifi hidden terminal example does not work |
| 918 |
- bug 1032 - Unable to specify multiple Compiler/Linker flags |
| 919 |
|
| 920 |
Known issues |
| 921 |
------------ |
| 922 |
In general, known issues are tracked on the project tracker available |
| 923 |
at http://www.nsnam.org/bugzilla/ |
| 924 |
|
| 925 |
Windows XP 32 bit Cygwin 1.7.7 does not seem to work because of a |
| 926 |
problem (reported elsewhere) in linking large libraries. |
| 927 |
|
| 928 |
Release 3.9 |
| 929 |
=========== |
| 930 |
|
| 931 |
Availability |
| 932 |
------------ |
| 933 |
This release is immediately available from: |
| 934 |
http://www.nsnam.org/release/ns-allinone-3.9.tar.bz2 |
| 935 |
|
| 936 |
Supported platforms |
| 937 |
------------------- |
| 938 |
ns-3.9 has been tested on the following platforms: |
| 939 |
- Ubuntu 10.04 LTS 32/64-bit gcc-4.4.3 |
| 940 |
- Fedora Core 12 64-bit gcc-4.4.3 |
| 941 |
- Ubuntu 9.10 32-bit gcc-4.4.1 |
| 942 |
- Ubuntu 8.04 LTS 64-bit gcc-4.2.4 |
| 943 |
- Fedora Core 5 32-bit gcc-4.1.1 |
| 944 |
- Mac OS X Leopard powerpc gcc-4.0.1 |
| 945 |
- Windows Cygwin 1.7.5 |
| 946 |
|
| 947 |
Not all ns-3 options are available on all platforms; consult the |
| 948 |
wiki for more information: |
| 949 |
http://www.nsnam.org/wiki/index.php/Installation |
| 950 |
|
| 951 |
New user-visible features |
| 952 |
------------------------- |
| 953 |
|
| 954 |
- A reorganisation of the construction of Wi-Fi transmit rates has |
| 955 |
been undertaken with the aim of simplifying the task of |
| 956 |
supporting further IEEE 802.11 PHYs. This work has been completed |
| 957 |
under the auspices of Bug 871. A consequence of this work is that |
| 958 |
WifiModes have a new (hopefully future-proof) naming, and |
| 959 |
simulations which specify rates by name will need updating. The |
| 960 |
list of new rate names is given in the error message produced |
| 961 |
when an attempt is made to use any invalid rate name (including |
| 962 |
those that were previously valid). |
| 963 |
|
| 964 |
- A new OFDM error rate model for WiFi (NistErrorRateModel); this model |
| 965 |
has been validated in clear-channel testbed tests. For 802.11b, it |
| 966 |
uses the same underlying model as the YansErrorRateModel, but it differs |
| 967 |
from YansErrorRateModel for OFDM modes (802.11a/g). The default |
| 968 |
YansWifiPhyHelper has been changed to use this model. |
| 969 |
|
| 970 |
- A new NS-2 mobility trace reader supports BonnMotion, SUMO, TraNS, |
| 971 |
etc. traces. |
| 972 |
|
| 973 |
- An energy model for nodes and devices, including an energy source |
| 974 |
model and device energy models allowing energy-aware devices |
| 975 |
to notify the energy source about energy consumption. |
| 976 |
|
| 977 |
- Rocketfuel topology dataset support for existing topology reader |
| 978 |
Rocketfuel project: |
| 979 |
http://www.cs.washington.edu/research/networking/rocketfuel/ |
| 980 |
|
| 981 |
- Underwater Acoustic Network (UAN) model, split in to three parts, the |
| 982 |
channel, PHY, and MAC models to enable researchers to model a variety |
| 983 |
of underwater network scenarios. |
| 984 |
|
| 985 |
- the Spectrum framework, which provides support for spectrum-aware |
| 986 |
Channel and PHY layer modeling. It features a set of classes that |
| 987 |
allows the mathematical representation of frequency dependent |
| 988 |
phenomena. Some example channel, propagation and device |
| 989 |
implementations that make use of this framework are also |
| 990 |
included. |
| 991 |
|
| 992 |
Bugs fixed |
| 993 |
---------- |
| 994 |
The following lists many of the bugs fixed or small feature additions |
| 995 |
since ns-3.8, in many cases referencing the Bugzilla bug number |
| 996 |
|
| 997 |
- IPv4 global routing code; stub networks were assumed to be /24 |
| 998 |
and added as /24 networks even if the mask is actually different |
| 999 |
- OLSR was generating messages on non-OLSR interfaces |
| 1000 |
- ICMPv4 objects not properly registered; affected serialization code |
| 1001 |
- bug 231 - SocketAddressTag needs to be removed from a packet before |
| 1002 |
forwarding the packet to the user |
| 1003 |
- bug 385 - Add a generic "sequence number" class |
| 1004 |
- bug 473 - [PATCH] Alternative ns-2 trace reader |
| 1005 |
- bug 665 - Need Tutorial Sectino on Config Path and Tracing Use |
| 1006 |
- bug 671 - add packet-info-tag.cc for IP_PKTINFO/IPV6_PKTINFO |
| 1007 |
- bug 702 - Global routing doesn't respond to interface events |
| 1008 |
- bug 799 - Interference helper is too slow |
| 1009 |
- bug 800 - Erroneous packet sender while using aloha or cw mac in uan module |
| 1010 |
- bug 802 - Minstrel algorithm causes segmentation fault |
| 1011 |
- bug 826 - Using uint64_t instead of Time in DcfManager |
| 1012 |
- bug 828 - PacketSocket::Close does not unregister protocol handler |
| 1013 |
- bug 842 - ns-3-dev crashes using block acks |
| 1014 |
- bug 843 - Most wifi examples change BeaconInterval to unrealistic values |
| 1015 |
- bug 844 - YansWifiPhy::GetPowerDbm off-by-one problem when calculating Tx |
| 1016 |
power |
| 1017 |
- bug 846 - packet.cc triggers deprecated warning |
| 1018 |
- bug 853 - Rates for Wi-Fi control responses are incorrectly selected |
| 1019 |
- bug 854 - Support DROP_QUEUE reason-code in Ipv4FlowProbe |
| 1020 |
- bug 858 - support MSG_PEEK in IPv4/IPv6 raw socket |
| 1021 |
- bug 861 - Forwarding drops (due to no route found) were not being logged |
| 1022 |
in IPv4 or IPv6 ascii traces |
| 1023 |
- bug 869 - suggested test framework enhancements |
| 1024 |
- bug 871 - naming for WifiPhyStandard |
| 1025 |
- bug 873 - Queue occupancy counter not decremented in WifiMacQueue::Remove() |
| 1026 |
- bug 874 - wrong modulation type is selected in the forwardBurst method |
| 1027 |
- bug 875 - "frame includes FCS" flag should be set in Radiotap frame header |
| 1028 |
- bug 879 - source address selection for AODV using DeferredRouteRequest |
| 1029 |
- bug 881 - Reorganise to allow wider use of WifiInformationElement |
| 1030 |
- bug 890 - several rate adaptation algorithms not tested by test.py |
| 1031 |
- bug 900: RawTextConfigLoad::Default does not load configurations |
| 1032 |
- bug 901 - Optimize Mac48Address < != and == |
| 1033 |
- bug 902 - TCP: handle out-of-order packets during connection shutdown |
| 1034 |
- bug 905 - WimaxNetDevice loses packet uid, tags, and memory optimization |
| 1035 |
- bug 906 - NSC TCP socket fork did not copy txbuffersize over |
| 1036 |
- bug 908 - test.py should exit if waf dies |
| 1037 |
- bug 910 - Change Wi-Fi "AccessClass" to something closer to the standard |
| 1038 |
- bug 911 - IPv4/v6 multicast forwarding not going to all output interfaces |
| 1039 |
- bug 913 - Queue Enqueue/Drop trace sources behavior unintuitive |
| 1040 |
- bug 916 - EnableAsciiAll ("prefix") does not work for YansWifiPhyHelper |
| 1041 |
- bug 918 - samples/main-packet-header.cc is broken |
| 1042 |
- bug 919 - minstrel does not pass valgrind tests |
| 1043 |
- bug 921 - Inconsistent declaration of class/struct Object in object.h |
| 1044 |
- bug 922 - Inconsistent declaration of class/struct in |
| 1045 |
wifi-remote-station-manager.h |
| 1046 |
- bug 923 - Inconsistent declaration of class/struct in mac-low.h |
| 1047 |
- bug 924 - Inconsistent declaration of class/struct in <xxx>-wifi-managers |
| 1048 |
- bug 925 - Various IPv6 cc files trigger deprecated warning |
| 1049 |
- bug 926 - olsr handling of multicast packets |
| 1050 |
- bug 927 - SimpleOfdmWimaxChannel RxPower computation |
| 1051 |
- bug 930 - examples/topology-read/topology-example-sim.cc uses variable |
| 1052 |
length array |
| 1053 |
- bug 931 - Abnormal exit reports SIGSEGV on failure |
| 1054 |
- bug 932 - Support IP_HDRINCL option for Ipv4RawSocket |
| 1055 |
- bug 933 - Flushing ostream and files on abnormal program exit |
| 1056 |
(ASSERT, ABORT and FATAL_ERROR) |
| 1057 |
- bug 936 - Waf build error for python bindings on "AccessClass" |
| 1058 |
- bug 937 - bugs in ns-3 wimax |
| 1059 |
- bug 939 - EmuNetDevice uses too much memory when reading packet bursts |
| 1060 |
- bug 940 - AODV fails to set up a correct path |
| 1061 |
- bug 941 - Wifi Dcf attributes not reachable through configuration namespace |
| 1062 |
- bug 943 - Add a SO_BROADCAST socket option |
| 1063 |
- bug 944 - change default ErrorRateModel from YansErrorRateModel to |
| 1064 |
NistErrorRateModel |
| 1065 |
- bug 946 - Rocketfuel topology dataset support for topology reader |
| 1066 |
- bug 949 - Node::NonPromiscReceiveFromDevice reports a meaningless |
| 1067 |
destination address to user callbacks |
| 1068 |
- bug 950 - PointToPointNetDevice says promisc support is not implemented |
| 1069 |
but it is |
| 1070 |
- bug 955 - Install NSC for NS3 in a Itanium Architecture (ia64) with Linux 2.6.16.6 |
| 1071 |
- bug 956 - Bindings failure in core (traced-value) with older gcc |
| 1072 |
- bug 958 - WiFi uses wrong default values for MTU, FragmentationThreshold |
| 1073 |
and RtsCtsThreshold |
| 1074 |
- bug 959 - Simulation never finishes when using RealtimeSimulatorImpl |
| 1075 |
- bug 960 - V4Ping does not generate checksum |
| 1076 |
- bug 961 - Problem with MPI activation |
| 1077 |
- bug 964 - AODV does not work with host addressed interfaces |
| 1078 |
- bug 965 - Problem building /src/core/callback.cc |
| 1079 |
- bug 966 - AODV originates new RREQ on each packet, when doesn't have |
| 1080 |
valid route |
| 1081 |
- bug 969 - No SocketList is present in UdpL4Protocol class |
| 1082 |
- bug 971 - fix AODV header Print functions |
| 1083 |
- bug 972 - [flow monitor] assertion fails in pv4-flow-probe.cc |
| 1084 |
|
| 1085 |
Known issues |
| 1086 |
------------ |
| 1087 |
|
| 1088 |
Release 3.8 |
| 1089 |
=========== |
| 1090 |
|
| 1091 |
Availability |
| 1092 |
------------ |
| 1093 |
This release is immediately available from: |
| 1094 |
http://www.nsnam.org/release/ns-allinone-3.8.tar.bz2 |
| 1095 |
|
| 1096 |
Supported platforms |
| 1097 |
------------------- |
| 1098 |
ns-3.8 has been tested on the following platforms: |
| 1099 |
- linux x86 gcc 4.4.0, 4.3.2, 4.2, 4.1.1, 4.1 and 3.4.6 (debug and optimized) |
| 1100 |
- 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) |
| 1101 |
- MacOS X ppc gcc 4.0.x and 4.2.x (debug and optimized) |
| 1102 |
- cygwin gcc 4.3.4 (debug and optimized) |
| 1103 |
|
| 1104 |
Not all ns-3 options are available on all platforms; consult the |
| 1105 |
wiki for more information: |
| 1106 |
http://www.nsnam.org/wiki/index.php/Installation |
| 1107 |
|
| 1108 |
New user-visible features |
| 1109 |
------------------------- |
| 1110 |
a) WiMAX net device: Allow to simulated IEEE 802.16 point to multi-point based networks |
| 1111 |
|
| 1112 |
b) Distributed simulation for point-to-point networks using the Message |
| 1113 |
Passing Interface (MPI) standard. |
| 1114 |
|
| 1115 |
c) Matrix propagation loss model uses a two-dimensional matrix of path loss indexed |
| 1116 |
by source and destination nodes. |
| 1117 |
|
| 1118 |
d) Topology read system: Allows quick and easy creation of large topologies by reading |
| 1119 |
Inet or Orbis files |
| 1120 |
|
| 1121 |
e) Gauss-Markov mobility model: Adds 3-d adaptation of Gauss-Markov mobility model which |
| 1122 |
has both memory and variability |
| 1123 |
|
| 1124 |
f) Steady-state random waypoint mobility model: Based on random waypoint mobility (RWM) model for case when |
| 1125 |
speed, pause and position are uniformly distributed random variables. However, initial values of these |
| 1126 |
parameters are not from uniform distribution but from stationary distribution of RWM model. |
| 1127 |
|
| 1128 |
g) Two-ray ground propagation loss model: Calculates the crossover distance under which Friis is used. |
| 1129 |
The antenna height is set to the nodes z coordinate, but can be added to using the model parameter |
| 1130 |
SetHeightAboveZ, which will affect ALL stations |
| 1131 |
|
| 1132 |
|
| 1133 |
API changes from ns-3.7 |
| 1134 |
----------------------- |
| 1135 |
API changes for this release are documented in the file CHANGES.html. |
| 1136 |
|
| 1137 |
Bugs fixed |
| 1138 |
---------- |
| 1139 |
The following lists many of the bugs that were fixed since ns-3.7, in |
| 1140 |
many cases referencing the Bugzilla bug number |
| 1141 |
- bug 155 - std::ostream & os" parameters not Python friendly |
| 1142 |
- bug 184 - GtkConfigStore do not support ConfigureDefault |
| 1143 |
- bug 407 - OLSR is missing HNA support |
| 1144 |
- bug 414 - No ReceiveErrorModel in SimpleNetDevice |
| 1145 |
- bug 602 - WifiRemoteStation lacks information about the access class of outgoing packets |
| 1146 |
- bug 622 - [PATCH] Friendly names for pcap traces |
| 1147 |
- bug 683 - Helper methods for pcap tracing with explicit filenames |
| 1148 |
- bug 706 - Backoff counting when starting NS. |
| 1149 |
- bug 720 - TapBridge creation fails from a script outside the ns3 tree |
| 1150 |
- bug 731 - Send function in point-to-point-net-device fails to check the return value of the Dequeue function |
| 1151 |
- bug 747 - Listening TCP socket closes on RST |
| 1152 |
- bug 748 - Cloned TCP socket uses wrong source address |
| 1153 |
- bug 772 - AODV is unable to correctly buffer packets waiting for route reply |
| 1154 |
- bug 777 - AODV ignores specified outgoing interface in RouteOutput() |
| 1155 |
- bug 778 - OLSR ignores specified outgoing interface in RouteOutput() |
| 1156 |
- bug 787 - Addition of Two Ray Ground model to propagation loss model and tests |
| 1157 |
- bug 788 - OLSR_NEIGH_HOLD_TIME should be 3 times OLSR_REFRESH_INTERVAL |
| 1158 |
- bug 789 - [PATCH] Globalrouting externalroutes to use the new GetRootExitDirections() |
| 1159 |
- bug 794 - Ipv4Mask constructor for "/yy"-notation is wrong |
| 1160 |
- bug 796 - TCP bug in ns-3-dev branch : Crash detected during retesting of Chord on ns-3-dev branch |
| 1161 |
- bug 797 - Enhancements to src/core/random-variable.cc/h |
| 1162 |
- bug 801 - ns-3.7 and SVN not coexisting nicely |
| 1163 |
- bug 802 - Minstrel algorithm causes segmentation fault |
| 1164 |
- bug 804 - null-pointer references in 3.7 internet stack |
| 1165 |
- bug 806 - TCP doesn't work over a CSMA link |
| 1166 |
- bug 807 - ns2-mobility-helper.cc: node id parsed wrong |
| 1167 |
- bug 809 - Missing Python binding for Ipv4GlobalRouting::GetRoute |
| 1168 |
- bug 810 - In TCP, Socket::GetSockName() does not return the local socket address |
| 1169 |
- bug 812 - Assert when getting socket in RecvReply for AODV |
| 1170 |
- bug 813 - Nqos AP sends packet to non associated STA |
| 1171 |
- bug 814 - Function logging causing assert in wireless examples |
| 1172 |
- bug 815 - waf shell file descriptor leak |
| 1173 |
- bug 816 - tap-creator deadlock when python bindings enabled |
| 1174 |
- bug 817 - Pareto rng constructors using scale and shape instead of mean and shape |
| 1175 |
- bug 818 - TCP Socket implementation does not set ACK flag on retransmits |
| 1176 |
- bug 819 - Build break when gtk not installed |
| 1177 |
- bug 820 - Bad things happen in test.py when logging is enabled |
| 1178 |
- bug 821 - AODV asserts with function logging enabled |
| 1179 |
- bug 822 - Move Mtu attribute from NetDevice base class to subclasses |
| 1180 |
- bug 825 - UDP-Client-server's packet loss counter not properly reset |
| 1181 |
- bug 828 - PacketSocket::Close does not unregister protocol handler |
| 1182 |
- bug 829 - TCP unbound memory problem (pending data) |
| 1183 |
- bug 833 - OnOffApplication with PacketSocket: sniffs all traffic |
| 1184 |
- bug 834 - Incorrect signature of Ipv4FlowProbe::DropLogger |
| 1185 |
- bug 835 - Unlimited receive queues in sockets == evil |
| 1186 |
- bug 836 - Delay is incremented over time with BsUplinkSchedulerSimple and BsUplinkSchedulerRtps |
| 1187 |
- bug 838 - ns-3 can't compile on MacOS with 32bit processor |
| 1188 |
- bug 839 - TestSuite wimax-ss-mac-layer crashes on Darwin 9.8.0 Power Macintosh |
| 1189 |
- bug 840 - BS scheduler does not support fragmentation for UGS flows |
| 1190 |
- bug 841 - Multicast transmission breaks with QoS Wifi |
| 1191 |
- bug 844 - YansWifiPhy::GetPowerDbm off-by-one problem when calculating Tx power |
| 1192 |
- bug 847 - Segfaults on BaseStationNetDevice with OnOffApplication and rtPS sched |
| 1193 |
- bug 849 - stray patch files in lwip directory |
| 1194 |
- bug 850 - Ipv4GlobalRouting::LookupGlobal bug |
| 1195 |
- bug 855 - waf dies badly when switching from debug to optimized build or vice versa |
| 1196 |
- bug 856 - initialize vbl |
| 1197 |
- bug 857 - Link-Local Multicast handle in Ipv4 Output processing |
| 1198 |
- bug 859 - Output interface estimation for the source address bound socket in IPv4 Raw socket |
| 1199 |
- bug 860 - waf sometimes dies while executing ns3header or gen_ns3_module_header tasks in case of |
| 1200 |
parallel jobs |
| 1201 |
- bug 862 - NotifyInterfaceUp() Adds network route even when netmask is /32 |
| 1202 |
- bug 863 - Wrong Scalar arithmetics |
| 1203 |
- bug 864 - Invalid return value in UdpSocketImpl::Send and Ipv4RawSocketImpl::Send |
| 1204 |
- bug 865 - Ipv4RawSocketImpl::RecvFrom does not return from address all the time. |
| 1205 |
- bug 866 - WiMAX mobility models not aggregated to Node |
| 1206 |
- bug 867 - Minor bug in Ipv4L3Protocol::Send() |
| 1207 |
- bug 868 - invalid packet size after Ipv4L3Protocol::Send |
| 1208 |
- bug 872 - ns3::PcapFileWrapper::Write explodes stack |
| 1209 |
- bug 873 - Queue occupancy counter not decremented in WifiMacQueue::Remove() |
| 1210 |
- bug 876 - Tcp socket does not handle ShutdownRecv correctly |
| 1211 |
- bug 877 - python bindings broken with multiple inheritance ? |
| 1212 |
- bug 880 - Node sending a packet to itself via 127.0.0.1 aborts |
| 1213 |
- bug 885 - Error in Ascii tracing in Python examples |
| 1214 |
- bug 888 - Writing ascii trace to addtional tests fails |
| 1215 |
- bug 891 - WiMAX device helper does not include propagation loss model by default |
| 1216 |
- bug 894 - ./waf --run error message upon segfault |
| 1217 |
- bug 895 - SimpleOfdmWimaxPhy SNR computation |
| 1218 |
- bug 899 - EmuNetDevice::SetPromiscReceiveCallback not implemented |
| 1219 |
|
| 1220 |
Known issues |
| 1221 |
------------ |
| 1222 |
ns-3 builds have been known to fail on the following platforms: |
| 1223 |
- gcc 3.3 and earlier |
| 1224 |
- optimized builds on gcc 3.4.4 and 3.4.5 |
| 1225 |
- optimized builds on linux x86 gcc 4.0.x |
| 1226 |
|
| 1227 |
|
| 1228 |
Release 3.7 |
| 1229 |
=========== |
| 1230 |
|
| 1231 |
Availability |
| 1232 |
------------ |
| 1233 |
This release is immediately available from: |
| 1234 |
http://www.nsnam.org/release/ns-allinone-3.7.tar.bz2 |
| 1235 |
|
| 1236 |
Supported platforms |
| 1237 |
------------------- |
| 1238 |
ns-3.7 has been tested on the following platforms: |
| 1239 |
- linux x86 gcc 4.4.0, 4.3.2, 4.2, 4.1.1, 4.1 and 3.4.6 (debug and optimized) |
| 1240 |
- 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) |
| 1241 |
- MacOS X ppc gcc 4.0.x and 4.2.x (debug and optimized) |
| 1242 |
- cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized) |
| 1243 |
|
| 1244 |
Unofficially supported platform |
| 1245 |
------------------- |
| 1246 |
- mingw gcc 3.4.5 (debug only) |
| 1247 |
|
| 1248 |
Not all ns-3 options are available on all platforms; consult the |
| 1249 |
wiki for more information: |
| 1250 |
http://www.nsnam.org/wiki/index.php/Installation |
| 1251 |
|
| 1252 |
New user-visible features |
| 1253 |
------------------------- |
| 1254 |
|
| 1255 |
a) Ad hoc On-Demand Distance Vector (AODV) routing model (RFC 3561) |
| 1256 |
|
| 1257 |
b) IPv6 extensions support to add IPv6 extensions and options. Two |
| 1258 |
examples (fragmentation and loose routing) are available. |
| 1259 |
|
| 1260 |
c) NetAnim interface: Provides an interface to the Qt-based NetAnim |
| 1261 |
animator, which supports static, point-to-point topology-based |
| 1262 |
packet animations. |
| 1263 |
|
| 1264 |
d) New topology helpers have been introduced |
| 1265 |
- PointToPointDumbbellHelper |
| 1266 |
- PointToPointGridHelper |
| 1267 |
- PointToPointStarHelper |
| 1268 |
- CsmaStarHelper |
| 1269 |
|
| 1270 |
e) Equal-cost multipath for global routing: Enables quagga's equal |
| 1271 |
cost multipath for Ipv4GlobalRouting, and adds an attribute that |
| 1272 |
can enable it with random packet distribution policy across |
| 1273 |
equal cost routes. |
| 1274 |
|
| 1275 |
f) Binding sockets to devices: A method analogous to a SO_BINDTODEVICE |
| 1276 |
socket option has been introduced to class Socket |
| 1277 |
|
| 1278 |
g) Object::DoStart: Users who need to complete their object setup at |
| 1279 |
the start of a simulation can override this virtual method, perform their |
| 1280 |
adhoc setup, and then, must chain up to their parent. |
| 1281 |
|
| 1282 |
h) Ipv4::IsDestinationAddress method added to support checks of whether a |
| 1283 |
destination address should be accepted as one of the host's own |
| 1284 |
addresses. |
| 1285 |
|
| 1286 |
i) UniformDiscPositionAllocator added; distributes uniformly the nodes |
| 1287 |
within a disc of given radius. |
| 1288 |
|
| 1289 |
j) ChannelNumber attribute added to YansWifiPhy. Now it is possible to |
| 1290 |
setup wifi channel using WifiPhyHelper::Set() method. |
| 1291 |
|
| 1292 |
k) WaypointMobilityModel provides a method to add mobility as a set of |
| 1293 |
(time, position) pairs |
| 1294 |
|
| 1295 |
l) 802.11p WiFi standards |
| 1296 |
|
| 1297 |
m) UDP Client/Server application |
| 1298 |
|
| 1299 |
n) Support transactions in the SQLite output interface, making it usable for larger amounts of data |
| 1300 |
|
| 1301 |
API changes from ns-3.6 |
| 1302 |
----------------------- |
| 1303 |
API changes for this release are documented in the file CHANGES.html. |
| 1304 |
|
| 1305 |
Bugs fixed |
| 1306 |
---------- |
| 1307 |
The following lists many of the bugs that were fixed since ns-3.6, in |
| 1308 |
many cases referencing the Bugzilla bug number |
| 1309 |
- bug 752: Object::DoStart is not executed for objects created at t > 0 |
| 1310 |
- bug 767: Incorrect modulation for 802.11a modes |
| 1311 |
- bug 725: wifi fragmentation and RTS cannot be used at the same time |
| 1312 |
- bug 782: CreateTap () requires IP address in modes other than |
| 1313 |
CONFIGURE_LOCAL. |
| 1314 |
- bug 769: Queue::GetTotalReceived{Bytes,Packets}() broken |
| 1315 |
- bug 738 ReceiveErrorModel called too late |
| 1316 |
- Fix NSC improper response to FIN |
| 1317 |
- Fixed bug in serialization of PbbAddressBlock. |
| 1318 |
- Fix bug 780 (problem in RoutingTableComputation with asymetric links), |
| 1319 |
while adding debugging methods to OLSR. |
| 1320 |
- bug 759: Ipv6 uses wrong outgoing interface. |
| 1321 |
- bug 770: IPv6 size calculation for unknown options is wrong. |
| 1322 |
- bug 771: Radvd does not set ttl value. |
| 1323 |
- Fix bug 606: Arp depends on IP routing system |
| 1324 |
- pad out CSMA payloads to 46 bytes if needed |
| 1325 |
- Drop CSMA packets with CRC errors, rescan, dox tweaks |
| 1326 |
- Add FCS capability to CSMA |
| 1327 |
- Mesh:Dot11s: fixed airtime metric |
| 1328 |
- Get emu working again: Add Dix/Llc option, add and use contextual |
| 1329 |
realtime schedule ops, don't refcount realtime simulator impl |
| 1330 |
- bug 695 - DcfManager::UpdateBackoff () uses slow HighPrecision::Div() |
| 1331 |
- bug 674 - EIFS is not handled correctly in DcfManager::GetAccessGrantStart |
| 1332 |
- bug 739 - OLSR: Strange HTime value in HELLO messages |
| 1333 |
- bug 746 - UDP source address is not set to bound address |
| 1334 |
- bug 735 Update Olsr for local delivery |
| 1335 |
- bug 740 OLSR MprCompute () works wrong: fixed |
| 1336 |
- bug 729 Enable IPv6 over PPP. |
| 1337 |
- bug 645: fixes for opening stats file with OMNeT++ |
| 1338 |
- bug 689: default energy detection and CCA thresholds are changed to be |
| 1339 |
more realistic. |
| 1340 |
- bug 733: OLSR MPR Computation give incorrect result |
| 1341 |
- Mesh: HWMP: fixed proactive routes |
| 1342 |
- Mesh: fixed FLAME PATH_UPDATE procedure, fixed mesh.cc |
| 1343 |
|
| 1344 |
Known issues |
| 1345 |
------------ |
| 1346 |
ns-3 builds have been known to fail on the following platforms: |
| 1347 |
- gcc 3.3 and earlier |
| 1348 |
- optimized builds on gcc 3.4.4 and 3.4.5 |
| 1349 |
- optimized builds on linux x86 gcc 4.0.x |
| 1350 |
|
| 1351 |
|
| 1352 |
Release 3.6 |
| 1353 |
=========== |
| 1354 |
|
| 1355 |
Availability |
| 1356 |
------------ |
| 1357 |
This release is immediately available from: |
| 1358 |
http://www.nsnam.org/release/ns-allinone-3.6.tar.bz2 |
| 1359 |
|
| 1360 |
Supported platforms |
| 1361 |
------------------- |
| 1362 |
ns-3.6 has been tested on the following platforms: |
| 1363 |
- linux x86 gcc 4.4.1, 4.2, 4.1, and, 3.4.6. |
| 1364 |
- linux x86_64 gcc 4.4.0, 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6 |
| 1365 |
- MacOS X ppc and x86 (gcc 4.0.x and 4.2.x) |
| 1366 |
- cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized) |
| 1367 |
|
| 1368 |
Not all ns-3 options are available on all platforms; consult the |
| 1369 |
wiki for more information: |
| 1370 |
http://www.nsnam.org/wiki/index.php/Installation |
| 1371 |
|
| 1372 |
New user-visible features |
| 1373 |
------------------------- |
| 1374 |
|
| 1375 |
a) 802.11 models: |
| 1376 |
- Add an implementation of the minstrel rate control algorithm |
| 1377 |
(Duy Nguyen for gsoc) |
| 1378 |
- AthstatsHelper: enables the wifi device to produce periodic |
| 1379 |
reports similar to the ones generated by madwifi's |
| 1380 |
athstats tool (Nicola Baldo) |
| 1381 |
- 10MHz and 5MHz channel width supported by 802.11a model |
| 1382 |
(Ramon Bauza and Kirill Andreev) |
| 1383 |
- Channel switching support. YansWifiPhy can now switch among |
| 1384 |
different channels (Ramon Bauza and Pavel Boyko) |
| 1385 |
|
| 1386 |
b) IPv6 models: |
| 1387 |
- IPv6 interface; |
| 1388 |
- IPv6 layer; |
| 1389 |
- IPv6 raw socket; |
| 1390 |
- Static IPv6 routing; |
| 1391 |
- ICMPv6 layer; |
| 1392 |
- Some ICMPv6 error messages (destination unreachable, ...); |
| 1393 |
- Neighbor Discovery Protocol (NS/NA, RS/RA, redirection); |
| 1394 |
- Ping6 application (send Echo request); |
| 1395 |
- Radvd application (send RA); |
| 1396 |
- Examples (ping6, simple-routing-ping6, radvd, radvd-two-prefix, |
| 1397 |
icmpv6-redirect). |
| 1398 |
|
| 1399 |
c) Wireless Mesh Networking models: |
| 1400 |
- General multi-interface mesh stack infrastructure (devices/mesh module). |
| 1401 |
- IEEE 802.11s (Draft 3.0) model including Peering Management Protocol and HWMP. |
| 1402 |
- Forwarding Layer for Meshing (FLAME) protocol. |
| 1403 |
|
| 1404 |
d) Nix-vector routing: |
| 1405 |
- Ipv4NixVectorHelper |
| 1406 |
- Examples (nix-simple, nms-p2p-nix) |
| 1407 |
|
| 1408 |
e) New Test Framework |
| 1409 |
- Use test.py instead of ./waf check or ./waf --regression |
| 1410 |
- Previous unit tests have been ported to new framework. |
| 1411 |
- Examples are tested for run-ability. |
| 1412 |
|
| 1413 |
f) A new Flow Monitor module |
| 1414 |
- To very easily measure flow metrics in a simulation |
| 1415 |
- No need to use trace callbacks or parsing trace files |
| 1416 |
|
| 1417 |
API changes from ns-3.5 |
| 1418 |
----------------------- |
| 1419 |
API changes for this release are documented in the file CHANGES.html. |
| 1420 |
|
| 1421 |
Known issues |
| 1422 |
------------ |
| 1423 |
ns-3.6 build is known to fail on the following platforms: |
| 1424 |
- gcc 3.3 and earlier |
| 1425 |
- optimized builds on gcc 3.4.4 and 3.4.5 |
| 1426 |
- optimized builds on linux x86 gcc 4.0.x |
| 1427 |
|
| 1428 |
Release 3.5 |
| 1429 |
=========== |
| 1430 |
|
| 1431 |
Availability |
| 1432 |
------------ |
| 1433 |
This release is immediately available from: |
| 1434 |
http://www.nsnam.org/release/ns-allinone-3.5.tar.bz2 |
| 1435 |
|
| 1436 |
Supported platforms |
| 1437 |
------------------- |
| 1438 |
ns-3.5 has been tested on the following platforms: |
| 1439 |
- linux x86 gcc 4.2, 4.1, and, 3.4.6. |
| 1440 |
- linux x86_64 gcc 4.4.0, 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6 |
| 1441 |
- MacOS X ppc and x86 (gcc 4.0.x and 4.2.x) |
| 1442 |
- cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized) |
| 1443 |
- mingw gcc 3.4.5 (debug only) |
| 1444 |
|
| 1445 |
Not all ns-3 options are available on all platforms; consult the |
| 1446 |
wiki for more information: |
| 1447 |
http://www.nsnam.org/wiki/index.php/Installation |
| 1448 |
|
| 1449 |
New user-visible features |
| 1450 |
------------------------- |
| 1451 |
|
| 1452 |
a) 802.11 MAC: |
| 1453 |
- EDCA multi-qos-class support (Mirko Banchi) |
| 1454 |
- 802.11n initial support for A-MSDU frame aggregation (Mirko Banchi) |
| 1455 |
- aarf-cd and cara rate control algorithms (Federico Maguolo) |
| 1456 |
b) 802.11 PHY: |
| 1457 |
- 802.11b PHY support (Gary Pei) |
| 1458 |
- Nakagami propagation loss model (Timo Bingmann) |
| 1459 |
- radiotap and prism headers for PCAP output (Nicola Baldo) |
| 1460 |
c) RandomVariable: |
| 1461 |
- GammaVariable and ErlangVariable (Timo Bingmann) |
| 1462 |
- ZipfVariable (Francesco Malandrino) |
| 1463 |
d) UdpEcho: allows setting the payload of echo packets |
| 1464 |
e) Ipv4/Ipv4RoutingProtocol: allow fine-grained control over |
| 1465 |
routing policy and arbitrary composition of routing protocols |
| 1466 |
|
| 1467 |
API changes from ns-3.4 |
| 1468 |
----------------------- |
| 1469 |
API changes for this release are documented in the file CHANGES.html. The |
| 1470 |
internal API and composition of the IPv4 stack underwent significant |
| 1471 |
refactoring in this release cycle. |
| 1472 |
|
| 1473 |
Known issues |
| 1474 |
------------ |
| 1475 |
ns-3 build is known to fail on the following platforms: |
| 1476 |
- gcc 3.3 and earlier |
| 1477 |
- optimized builds on gcc 3.4.4 and 3.4.5 |
| 1478 |
- optimized builds on linux x86 gcc 4.0.x |
| 1479 |
|
| 1480 |
Future releases |
| 1481 |
--------------- |
| 1482 |
Our next release, which is expected to happen in 2 to 4 months from now, will |
| 1483 |
feature the merging of some of our projects currently in development including |
| 1484 |
fuller IPv6 support, some smaller features such as a new Global ARP |
| 1485 |
package, and possibly a new Testing and Validation suite. |
| 1486 |
|
| 1487 |
Release 3.4 |
| 1488 |
=========== |
| 1489 |
|
| 1490 |
Availability |
| 1491 |
------------ |
| 1492 |
This release is immediately available from: |
| 1493 |
http://www.nsnam.org/release/ns-allinone-3.4.tar.bz2 |
| 1494 |
|
| 1495 |
Supported platforms |
| 1496 |
------------------- |
| 1497 |
ns-3.4 has been tested on the following platforms: |
| 1498 |
- linux x86 gcc 4.2, 4.1, and, 3.4.6. |
| 1499 |
- linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6 |
| 1500 |
- MacOS X ppc and x86 |
| 1501 |
- cygwin gcc 3.4.4 (debug only) |
| 1502 |
|
| 1503 |
Not all ns-3 options are available on all platforms; consult the |
| 1504 |
wiki for more information: |
| 1505 |
http://www.nsnam.org/wiki/index.php/Installation |
| 1506 |
|
| 1507 |
New user-visible features |
| 1508 |
------------------------- |
| 1509 |
a) Wifi models: Timo Bingman contributed a ThreeLogDistance and a Nakagami |
| 1510 |
propagation loss model based on the ns-2 models. Fabian Mauchle contributed |
| 1511 |
multicast support. |
| 1512 |
|
| 1513 |
b) Object Name Service: A facility allowing ns-3 Objects to be assigned |
| 1514 |
names has been added. |
| 1515 |
|
| 1516 |
c) Tap Bridge: A second option for integrating ns-3 with real-world hosts |
| 1517 |
has been added. This allows for real hosts to talk over ns-3 net devices |
| 1518 |
and simulated networks. |
| 1519 |
|
| 1520 |
d) A new build option (ns-3-allinone) has been provided to make it easier for |
| 1521 |
users to download and bulid commonly used ns-3 configurations. |
| 1522 |
|
| 1523 |
e) The ns-3 calendar queue scheduler has been ported to ns-3. |
| 1524 |
|
| 1525 |
f) XML support has been added to the ConfigStore. |
| 1526 |
|
| 1527 |
API changes from ns-3.3 |
| 1528 |
----------------------- |
| 1529 |
API changes for this release are documented in the file CHANGES.html |
| 1530 |
|
| 1531 |
Known issues |
| 1532 |
------------ |
| 1533 |
ns-3 build is known to fail on the following platforms: |
| 1534 |
- gcc 3.3 and earlier |
| 1535 |
- optimized builds on gcc 3.4.4 and 3.4.5 |
| 1536 |
- optimized builds on linux x86 gcc 4.0.x |
| 1537 |
- optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2 |
| 1538 |
- MinGW |
| 1539 |
|
| 1540 |
The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes |
| 1541 |
in preparation of the merge of the IPv6 API and implementation. |
| 1542 |
|
| 1543 |
Future releases |
| 1544 |
--------------- |
| 1545 |
Our next release, which is expected to happen in 2 to 4 months from now, will |
| 1546 |
feature the merging of some of our projects currently in development including |
| 1547 |
fuller IPv6 support, and IPv4 and routing protocol refactoring, and some smaller |
| 1548 |
features such as a new Global ARP package and possibly a new Testing and Validation |
| 1549 |
suite, |
| 1550 |
|
| 1551 |
Release 3.3 |
| 1552 |
=========== |
| 1553 |
|
| 1554 |
Availability |
| 1555 |
------------ |
| 1556 |
This release is immediately available from: |
| 1557 |
http://www.nsnam.org/release/ns-3.3.tar.bz2 |
| 1558 |
|
| 1559 |
Supported platforms |
| 1560 |
------------------- |
| 1561 |
ns-3.3 has been tested on the following platforms: |
| 1562 |
- linux x86 gcc 4.2, 4.1, and, 3.4.6. |
| 1563 |
- linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6 |
| 1564 |
- MacOS X ppc and x86 |
| 1565 |
- cygwin gcc 3.4.4 (debug only) |
| 1566 |
|
| 1567 |
Not all ns-3 options are available on all platforms; consult the |
| 1568 |
wiki for more information: |
| 1569 |
http://www.nsnam.org/wiki/index.php/Installation |
| 1570 |
|
| 1571 |
New user-visible features |
| 1572 |
------------------------- |
| 1573 |
a) Emulated Net Device |
| 1574 |
A new net device has been added as enabling technology for ns-3 emulation |
| 1575 |
scenarios. See src/devices/emu and examples/emu-udp-echo.cc for details. |
| 1576 |
|
| 1577 |
b) ICMP Support |
| 1578 |
Support for several ICMP messages has been added to ns-3. See |
| 1579 |
src/internet-stack/icmpv4.h for details. |
| 1580 |
|
| 1581 |
c) IPv6 Address Support |
| 1582 |
New clases to support IPv6 addresses has been added to the system. This |
| 1583 |
is enabling technology for fuller IPv6 support scheduled for ns-3.4. |
| 1584 |
|
| 1585 |
d) A flow-id tag has been added to the contributed code section |
| 1586 |
|
| 1587 |
e) Star topologies can be created from the topology helper functions |
| 1588 |
|
| 1589 |
f) The global routing code has been made dynamic (not just limited to |
| 1590 |
(pre-simulation computation) and supports stub network interfaces and |
| 1591 |
bridge net devices |
| 1592 |
|
| 1593 |
g) A MatchContainer has been added to the configuration subsystem |
| 1594 |
|
| 1595 |
API changes from ns-3.2 |
| 1596 |
----------------------- |
| 1597 |
API changes for this release are documented in the file CHANGES.html |
| 1598 |
|
| 1599 |
Known issues |
| 1600 |
------------ |
| 1601 |
ns-3 build is known to fail on the following platforms: |
| 1602 |
- gcc 3.3 and earlier |
| 1603 |
- optimized builds on gcc 3.4.4 and 3.4.5 |
| 1604 |
- optimized builds on linux x86 gcc 4.0.x |
| 1605 |
- optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2 |
| 1606 |
- MinGW |
| 1607 |
|
| 1608 |
The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes |
| 1609 |
in preparation of the merge of the IPv6 API and implementation. |
| 1610 |
|
| 1611 |
Future releases |
| 1612 |
--------------- |
| 1613 |
Our next release, which is expected to happen in 2 to 4 months from now, will |
| 1614 |
feature the merging of some of our projects currently in development including |
| 1615 |
fuller IPv6 support, and IPv4 and routing protocol refactoring, and some smaller |
| 1616 |
features such as an object naming facility and a new Global ARP package. |
| 1617 |
|
| 1618 |
Release 3.2 |
| 1619 |
=========== |
| 1620 |
|
| 1621 |
Availability |
| 1622 |
------------ |
| 1623 |
This release is immediately available from: |
| 1624 |
http://www.nsnam.org/release/ns-3.2.tar.bz2 |
| 1625 |
|
| 1626 |
Supported platforms |
| 1627 |
------------------- |
| 1628 |
ns-3.2 has been tested on the following platforms: |
| 1629 |
- linux x86 gcc 4.2, 4.1, and, 3.4.6. |
| 1630 |
- linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6 |
| 1631 |
- MacOS X ppc and x86 |
| 1632 |
- cygwin gcc 3.4.4 (debug only) |
| 1633 |
|
| 1634 |
Not all ns-3 options are available on all platforms; consult the |
| 1635 |
wiki for more information: |
| 1636 |
http://www.nsnam.org/wiki/index.php/Installation |
| 1637 |
|
| 1638 |
New user-visible features |
| 1639 |
------------------------- |
| 1640 |
a) Learning bridge (IEEE 802.1D) |
| 1641 |
It is now possible to bridge together multiple layer 2 devices to |
| 1642 |
create larger layer 2 networks. The Wifi and Csma models support |
| 1643 |
this new mode of operation. (contributed by Gustavo Carneiro) |
| 1644 |
|
| 1645 |
b) Python bindings |
| 1646 |
It is now possible to write simulation scripts in python using our |
| 1647 |
python bindings (contributed by Gustavo Carneiro). |
| 1648 |
|
| 1649 |
c) Real-time simulator |
| 1650 |
It is now possible to run simulations synchronized on the real-world |
| 1651 |
wall-clock time (contributed by Craig Dowell). |
| 1652 |
|
| 1653 |
d) Network Simulation Cradle |
| 1654 |
It is now possible to use the Network Simulation Cradle |
| 1655 |
(http://www.wand.net.nz/~stj2/nsc/) in ns-3 and run simulations |
| 1656 |
using various versions of kernel TCP network stacks. (contributed |
| 1657 |
by Florian Westphal as part of his Google Summer of Code work) |
| 1658 |
|
| 1659 |
e) A statistics framework |
| 1660 |
Joseph Kopena contributed a statistics framework which can be used |
| 1661 |
keep track of simulation data in persistent storage across multiple |
| 1662 |
runs (database and ascii file backends are available). |
| 1663 |
More information on the wiki: |
| 1664 |
http://www.nsnam.org/wiki/index.php/Statistical_Framework_for_Network_Simulation |
| 1665 |
|
| 1666 |
API changes from ns-3.1 |
| 1667 |
----------------------- |
| 1668 |
API changes for this release are documented in the file CHANGES.html |
| 1669 |
|
| 1670 |
Known issues |
| 1671 |
------------ |
| 1672 |
ns-3 build is known to fail on the following platforms: |
| 1673 |
- gcc 3.3 and earlier |
| 1674 |
- optimized builds on gcc 3.4.4 and 3.4.5 |
| 1675 |
- optimized builds on linux x86 gcc 4.0.x |
| 1676 |
- optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2 |
| 1677 |
- MinGW |
| 1678 |
|
| 1679 |
The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes |
| 1680 |
in preparation of the merge of the IPv6 API and implementation. |
| 1681 |
|
| 1682 |
Future releases |
| 1683 |
--------------- |
| 1684 |
Our next release, which is expected to happen in 2 to 4 months from now, will |
| 1685 |
feature the merging of some of our projects currently in development: IPv6, |
| 1686 |
emulation, and synchronous posix sockets. |
| 1687 |
|
| 1688 |
Release 3.1 (2008/06/30) |
| 1689 |
======================== |
| 1690 |
|
| 1691 |
The first ns-3 stable release |
| 1692 |
----------------------------- |
| 1693 |
|
| 1694 |
This release is immediately available from: |
| 1695 |
http://www.nsnam.org/release/ns-3.1.tar.bz2 |
| 1696 |
|
| 1697 |
We dedicate this initial ns-3 release to our late contributor and friend, |
| 1698 |
Federico Maguolo. |
| 1699 |
|
| 1700 |
What is ns-3 ? |
| 1701 |
-------------- |
| 1702 |
|
| 1703 |
ns-3 is a new discrete-event network simulator designed for supporting network |
| 1704 |
research and education. ns-3 features a solid, well documented C++ core and |
| 1705 |
models for TCP/IP (IPv4), several link types including WiFi, and mobility |
| 1706 |
models. |
| 1707 |
|
| 1708 |
ns-3 is an open source project released under the GNU GPLv2 license which |
| 1709 |
allows anyone to use ns-3 without having to pay any license fee or royalties. |
| 1710 |
ns-3 is actively seeking new contributors to extend the range of supported |
| 1711 |
models and/or to maintain existing models. |
| 1712 |
|
| 1713 |
Where to get more information about ns-3 |
| 1714 |
---------------------------------------- |
| 1715 |
|
| 1716 |
All the ns-3 documentation, is accessible from the ns-3 website: |
| 1717 |
http://www.nsnam.org |
| 1718 |
|
| 1719 |
Including, tutorials: |
| 1720 |
http://www.nsnam.org/tutorials.html |
| 1721 |
|
| 1722 |
Supported platforms |
| 1723 |
------------------- |
| 1724 |
|
| 1725 |
ns-3 is regularly tested on the following platforms: |
| 1726 |
- linux x86 gcc 4.2, 4.1, and, 3.4.6. |
| 1727 |
- linux x86_64 gcc 4.1.3, 4.2.1, 3.4.6 |
| 1728 |
- MacOS X ppc and x86 |
| 1729 |
- cygwin gcc 3.4.4 (debug only) |
| 1730 |
|
| 1731 |
Known issues |
| 1732 |
------------ |
| 1733 |
|
| 1734 |
ns-3 is known to fail on the following platforms: |
| 1735 |
- gcc 3.3 and earlier |
| 1736 |
- optimized builds on gcc 3.4.4 and 3.4.5 |
| 1737 |
- optimized builds on linux x86 gcc 4.0.x |
| 1738 |
|
| 1739 |
The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes |
| 1740 |
in preparation of the merge of the IPv6 API and implementation. |
| 1741 |
|
| 1742 |
Future releases |
| 1743 |
--------------- |
| 1744 |
|
| 1745 |
Our next release, which is expected to happen in 2 to 4 months from now, will |
| 1746 |
feature the merging of some of our projects currently in development: python |
| 1747 |
scripting, IPv6, emulation, a statistics framework and synchronous posix |
| 1748 |
sockets. |
| 1749 |
|
| 1750 |
Release 3.0.13 (2008/06/02) |
| 1751 |
=========================== |
| 1752 |
- point to point links generate ppp pcap traces |
| 1753 |
- point to point links support asymmetrical data rates. |
| 1754 |
- generate doxygen documentation for all attributes and trace sources |
| 1755 |
- add ConfigStore and GtkConfigStore to contrib module |
| 1756 |
- socket API now support tx and rx buffers: implemented for UDP and TCP |
| 1757 |
- ARP cache now supports per-entry pending queues |
| 1758 |
- lots of bugfixes and implementation and API cleanups |
| 1759 |
|
| 1760 |
Warning: among API changes in this release, Application::Start and |
| 1761 |
Application::Stop now interprets the time argument as a relative |
| 1762 |
instead of absolute simulation time, to align with how Simulator::Schedule |
| 1763 |
behaves. Any code that calls these APIs in the middle of the simulation |
| 1764 |
will need to be adapted. |
| 1765 |
|
| 1766 |
The API of Simulator::StopAt (time) has also changed. Now it is |
| 1767 |
called Simulator::Stop (time), and takes a relative time, instead of |
| 1768 |
absolute. |
| 1769 |
|
| 1770 |
Release 3.0.12 (2008/04/07) |
| 1771 |
=========================== |
| 1772 |
- Add Attribute support to the TypeId metadata system and add |
| 1773 |
attribute support to all in-tree models |
| 1774 |
- Add a mid-level helper API to build simulation topologies |
| 1775 |
and perform simple ascii and pcap link-level tracing. |
| 1776 |
- Large amount of structural changes to accomodate the needs |
| 1777 |
of the upcoming python bindings |
| 1778 |
- new rate control algorithm (RRAA) and a jakes propagation model |
| 1779 |
in the 802.11 model (Federico Maguolo). |
| 1780 |
- regression test framework added |
| 1781 |
- TCP delayed acknowledgements and multitasking server |
| 1782 |
|
| 1783 |
Release 3.0.11 (2008/02/15) |
| 1784 |
=========================== |
| 1785 |
- Initial port of GTNetS TCP implementation (initial version |
| 1786 |
that does not support multitasking or delayed acknowledgments yet, |
| 1787 |
but supports a reliable stream service) |
| 1788 |
- Changes to the ns-3 object model to create a TypeId-based |
| 1789 |
metadata system |
| 1790 |
- lots of bug fixes throughout the system |
| 1791 |
- tutorial updates |
| 1792 |
|
| 1793 |
Release 3.0.10 (2008/01/15) |
| 1794 |
=========================== |
| 1795 |
- Add tutorial document content; |
| 1796 |
- Valgrind option for "waf" tool; |
| 1797 |
- Doxygen organization changes. |
| 1798 |
|
| 1799 |
Release 3.0.9 (2007/12/15) |
| 1800 |
========================== |
| 1801 |
- A 802.11 model ported from Yans. This model supports: |
| 1802 |
* a rather extensive PHY model |
| 1803 |
* log-distance and friis propagation model |
| 1804 |
* a simple set of rate control algorithms (ARF, Ideal, |
| 1805 |
AARF, constant-rate) |
| 1806 |
* adhoc and infrastructure mode (beacon+assoc) |
| 1807 |
- Use smart pointer for Packet in the APIs |
| 1808 |
- A new contrib directory with helper classes: |
| 1809 |
EventGarbageCollector, Gnuplot |
| 1810 |
- Tracing support for Applications |
| 1811 |
- many bugs fixed |
| 1812 |
|
| 1813 |
Release 3.0.8 (2007/11/15) |
| 1814 |
========================== |
| 1815 |
- A simple error model |
| 1816 |
- Source files for ns-3 tutorial |
| 1817 |
|
| 1818 |
Release 3.0.7 (2007/10/15) |
| 1819 |
========================== |
| 1820 |
- OLSR routing protocol |
| 1821 |
- A timer class |
| 1822 |
- Additional mobility models (random waypoint, random 2D walk) |
| 1823 |
- A mobility visualization tool |
| 1824 |
|
| 1825 |
Release 3.0.6 (2007/09/15) |
| 1826 |
========================== |
| 1827 |
- Static multicast IPv4 routing |
| 1828 |
- Logging overhaul (NS_LOG macros) |
| 1829 |
- Refactoring of tracing subsystem |
| 1830 |
- Tutorial document started |
| 1831 |
|
| 1832 |
Release 3.0.5 (2007/08/15) |
| 1833 |
========================== |
| 1834 |
|
| 1835 |
- Refactoring to support win32-based unix environments (Cygwin, mingw) |
| 1836 |
- "Packet socket" for allowing applications to access NetDevices directly |
| 1837 |
- Generalized, polymorphic Address class |
| 1838 |
- Add CSMA NetDevice model (from Emmanuelle Laprise) |
| 1839 |
- Modularize IPv4 routing support (from Gustavo Carneiro) |
| 1840 |
- Add mobility framework and basic mobility models |
| 1841 |
- Global unicast centralized routing |
| 1842 |
|
| 1843 |
Release 3.0.4 (2007/07/15) |
| 1844 |
========================== |
| 1845 |
|
| 1846 |
- Enable waf as the default build system. |
| 1847 |
- Per-packet metadata: a system to track which headers and trailers |
| 1848 |
are added to a packet |
| 1849 |
- Simplifications to point-to-point devices and channel |
| 1850 |
|
| 1851 |
Release 3.0.3 (2007/06/15) |
| 1852 |
========================== |
| 1853 |
|
| 1854 |
- Enable Waf for release tarballs: users can now build ns-3 |
| 1855 |
with the "waf" tool. See doc/build-waf.txt. |
| 1856 |
- Add support for variable time precision: it is now possible |
| 1857 |
to run a simulation with an accuracy which is higher or lower |
| 1858 |
than a nanosecond: seconds, milliseconds, microseconds, |
| 1859 |
femtoseconds and picoseconds are supported. |
| 1860 |
- Optimize and rework the COM framework, solidify the component |
| 1861 |
manager |
| 1862 |
- Many small API cleanups |
| 1863 |
|
| 1864 |
Release 3.0.2 (2007/05/18) |
| 1865 |
========================== |
| 1866 |
|
| 1867 |
- Implement a new memory management infrastructure based |
| 1868 |
on reference counting and smart pointers (the latter being |
| 1869 |
optional) |
| 1870 |
|
| 1871 |
- Implement a COM-like framework with support for QueryInterface |
| 1872 |
to provide object extensibility |
| 1873 |
|
| 1874 |
- Add support for a BSD-style socket API for user applications |
| 1875 |
|
| 1876 |
Release 3.0.1 (2007/03/31) |
| 1877 |
========================== |
| 1878 |
|
| 1879 |
- First public release; not yet pre-alpha. |
| 1880 |
|
| 1881 |
- Simple UDP-based simulation script (examples/simple-p2p.cc) |