RELEASE_NOTES
author Josh Pelkey <jpelkey@gatech.edu>
Wed, 28 Apr 2010 10:18:27 -0400
changeset 6280 d588e7fe6cb0
parent 6276 3b7ec0d36079
child 6282 533be42b3c7f
permissions -rw-r--r--
update bug list for release notes
     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.8
    13 ===========
    14 
    15 Availability
    16 ------------
    17 This release is not yet available.
    18 
    19 Supported platforms
    20 -------------------
    21 ns-3.8 has been tested on the following platforms:
    22   - linux x86 gcc 4.4.0, 4.3.2, 4.2, 4.1.1, 4.1 and 3.4.6 (debug and optimized)
    23   - 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)
    24   - MacOS X ppc gcc 4.0.x and 4.2.x (debug and optimized)
    25   - cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized)
    26 
    27 Not all ns-3 options are available on all platforms; consult the
    28 wiki for more information:
    29 http://www.nsnam.org/wiki/index.php/Installation
    30 
    31 New user-visible features
    32 -------------------------
    33   a) WiMAX net device: Allow to simulated IEEE 802.16 point to multi-point based networks 
    34 
    35   b) Distributed simulation for point-to-point networks using the Message 
    36      Passing Interface (MPI) standard.
    37     
    38   c) Matrix propagation loss model uses a two-dimensional matrix of path loss indexed 
    39      by source and destination nodes.
    40 
    41   d) Topology read system: Allows quick and easy creation of large topologies by reading 
    42      Inet or Orbis files
    43 
    44   e) Gauss-Markov mobility model: Adds 3-d adaptation of Gauss-Markov mobility model which 
    45      has both memory and variability
    46 
    47   f) Steady-state random waypoint mobility model: Based on random waypoint mobility (RWM) model for case when 
    48      speed, pause and position are uniformly distributed random variables. However, initial values of these 
    49      parameters are not from uniform distribution but from stationary distribution of RWM model.
    50 
    51   g) Two-ray ground propagation loss model: Calculates the crossover distance under which Friis is used. 
    52      The antenna height is set to the nodes z coordinate, but can be added to using the model parameter 
    53      SetHeightAboveZ, which will affect ALL stations
    54 
    55 
    56 API changes from ns-3.7
    57 -----------------------
    58 API changes for this release are documented in the file CHANGES.html. 
    59 
    60 Bugs fixed
    61 ----------
    62 The following lists many of the bugs that were fixed since ns-3.7, in
    63 many cases referencing the Bugzilla bug number
    64    - bug 155 - std::ostream & os" parameters not Python friendly
    65    - bug 184 - GtkConfigStore do not support ConfigureDefault
    66    - bug 407 - OLSR is missing HNA support
    67    - bug 414 - No ReceiveErrorModel in SimpleNetDevice
    68    - bug 602 - WifiRemoteStation lacks information about the access class of outgoing packets
    69    - bug 622 - [PATCH] Friendly names for pcap traces
    70    - bug 683 - Helper methods for pcap tracing with explicit filenames
    71    - bug 706 - Backoff counting when starting NS.
    72    - bug 720 - TapBridge creation fails from a script outside the ns3 tree
    73    - bug 731 - Send function in point-to-point-net-device fails to check the return value of the Dequeue function
    74    - bug 747 - Listening TCP socket closes on RST
    75    - bug 748 - Cloned TCP socket uses wrong source address
    76    - bug 772 - AODV is unable to correctly buffer packets waiting for route reply
    77    - bug 777 - AODV ignores specified outgoing interface in RouteOutput()
    78    - bug 778 - OLSR ignores specified outgoing interface in RouteOutput()
    79    - bug 787 - Addition of Two Ray Ground model to propagation loss model and tests
    80    - bug 788 - OLSR_NEIGH_HOLD_TIME should be 3 times OLSR_REFRESH_INTERVAL 
    81    - bug 789 - [PATCH] Globalrouting externalroutes to use the new GetRootExitDirections()
    82    - bug 794 - Ipv4Mask constructor for "/yy"-notation is wrong
    83    - bug 796 - TCP bug in ns-3-dev branch : Crash detected during retesting of Chord on ns-3-dev branch
    84    - bug 797 - Enhancements to src/core/random-variable.cc/h
    85    - bug 801 - ns-3.7 and SVN not coexisting nicely
    86    - bug 802 - Minstrel algorithm causes segmentation fault
    87    - bug 804 - null-pointer references in 3.7 internet stack
    88    - bug 806 - TCP doesn't work over a CSMA link
    89    - bug 807 - ns2-mobility-helper.cc: node id parsed wrong
    90    - bug 809 - Missing Python binding for Ipv4GlobalRouting::GetRoute
    91    - bug 810 - In TCP, Socket::GetSockName() does not return the local socket address
    92    - bug 812 - Assert when getting socket in RecvReply for AODV
    93    - bug 813 - Nqos AP sends packet to non associated STA
    94    - bug 814 - Function logging causing assert in wireless examples
    95    - bug 815 - waf shell file descriptor leak
    96    - bug 816 - tap-creator deadlock when python bindings enabled
    97    - bug 817 - Pareto rng constructors using scale and shape instead of mean and shape
    98    - bug 818 - TCP Socket implementation does not set ACK flag on retransmits
    99    - bug 819 - Build break when gtk not installed
   100    - bug 820 - Bad things happen in test.py when logging is enabled
   101    - bug 821 - AODV asserts with function logging enabled
   102    - bug 822 - Move Mtu attribute from NetDevice base class to subclasses
   103    - bug 825 - UDP-Client-server's packet loss counter not properly reset
   104    - bug 828 - PacketSocket::Close does not unregister protocol handler
   105    - bug 829 - TCP unbound memory problem (pending data)
   106    - bug 833 - OnOffApplication with PacketSocket: sniffs all traffic
   107    - bug 834 - Incorrect signature of Ipv4FlowProbe::DropLogger
   108    - bug 835 - Unlimited receive queues in sockets == evil
   109    - bug 836 - Delay is incremented over time with BsUplinkSchedulerSimple and BsUplinkSchedulerRtps
   110    - bug 838 - ns-3 can't compile on MacOS with 32bit processor
   111    - bug 839 - TestSuite wimax-ss-mac-layer crashes on Darwin 9.8.0 Power Macintosh
   112    - bug 840 - BS scheduler does not support fragmentation for UGS flows
   113    - bug 841 - Multicast transmission breaks with QoS Wifi
   114    - bug 844 - YansWifiPhy::GetPowerDbm off-by-one problem when calculating Tx power
   115    - bug 847 - Segfaults on BaseStationNetDevice with OnOffApplication and rtPS sched
   116    - bug 849 - stray patch files in lwip directory
   117    - bug 850 - Ipv4GlobalRouting::LookupGlobal bug
   118    - bug 855 - waf dies badly when switching from debug to optimized build or vice versa
   119    - bug 856 - initialize vbl
   120    - bug 857 - Link-Local Multicast handle in Ipv4 Output processing 
   121    - bug 859 - Output interface estimation for the source address bound socket in IPv4 Raw socket
   122    - bug 860 - waf sometimes dies while executing ns3header or gen_ns3_module_header tasks in case of 
   123                parallel jobs
   124    - bug 862 - NotifyInterfaceUp() Adds network route even when netmask is /32
   125    - bug 863 - Wrong Scalar arithmetics
   126    - bug 864 - Invalid return value in UdpSocketImpl::Send and Ipv4RawSocketImpl::Send
   127    - bug 865 - Ipv4RawSocketImpl::RecvFrom does not return from address all the time.
   128    - bug 866 - WiMAX mobility models not aggregated to Node
   129    - bug 867 - Minor bug in Ipv4L3Protocol::Send()
   130    - bug 868 - invalid packet size after Ipv4L3Protocol::Send
   131    - bug 872 - ns3::PcapFileWrapper::Write explodes stack
   132    - bug 873 - Queue occupancy counter not decremented in WifiMacQueue::Remove()
   133    - bug 876 - Tcp socket does not handle ShutdownRecv correctly
   134    - bug 877 - python bindings broken with multiple inheritance ?
   135    - bug 880 - Node sending a packet to itself via 127.0.0.1 aborts
   136    - bug 885 - Error in Ascii tracing in Python examples
   137    - bug 888 - Writing ascii trace to addtional tests fails
   138    - bug 891 - WiMAX device helper does not include propagation loss model by default 
   139    - bug 894 - ./waf --run error message upon segfault
   140    - bug 899 - EmuNetDevice::SetPromiscReceiveCallback not implemented
   141 
   142 Known issues
   143 ------------
   144 ns-3 builds have been known to fail on the following platforms:
   145   - gcc 3.3 and earlier
   146   - optimized builds on gcc 3.4.4 and 3.4.5
   147   - optimized builds on linux x86 gcc 4.0.x
   148 
   149 
   150 Release 3.7
   151 ===========
   152 
   153 Availability
   154 ------------
   155 This release is immediately available from:
   156 http://www.nsnam.org/releases/ns-allinone-3.7.tar.bz2
   157 
   158 Supported platforms
   159 -------------------
   160 ns-3.7 has been tested on the following platforms:
   161   - linux x86 gcc 4.4.0, 4.3.2, 4.2, 4.1.1, 4.1 and 3.4.6 (debug and optimized)
   162   - 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)
   163   - MacOS X ppc gcc 4.0.x and 4.2.x (debug and optimized)
   164   - cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized)
   165 
   166 Unofficially supported platform
   167 -------------------
   168 - mingw gcc 3.4.5 (debug only)
   169 
   170 Not all ns-3 options are available on all platforms; consult the
   171 wiki for more information:
   172 http://www.nsnam.org/wiki/index.php/Installation
   173 
   174 New user-visible features
   175 -------------------------
   176 
   177   a) Ad hoc On-Demand Distance Vector (AODV) routing model (RFC 3561)
   178 
   179   b) IPv6 extensions support to add IPv6 extensions and options.  Two 
   180      examples (fragmentation and loose routing) are available.
   181 
   182   c) NetAnim interface: Provides an interface to the Qt-based NetAnim 
   183      animator, which supports static, point-to-point topology-based 
   184      packet animations.
   185 
   186   d) New topology helpers have been introduced
   187      - PointToPointDumbbellHelper
   188      - PointToPointGridHelper
   189      - PointToPointStarHelper
   190      - CsmaStarHelper
   191 
   192   e) Equal-cost multipath for global routing: Enables quagga's equal 
   193      cost multipath for Ipv4GlobalRouting, and adds an attribute that
   194      can enable it with random packet distribution policy across 
   195      equal cost routes.
   196 
   197   f) Binding sockets to devices:  A method analogous to a SO_BINDTODEVICE
   198      socket option has been introduced to class Socket
   199 
   200   g) Object::DoStart: Users who need to complete their object setup at 
   201      the start of a simulation can override this virtual method, perform their 
   202      adhoc setup, and then, must chain up to their parent.
   203 
   204   h) Ipv4::IsDestinationAddress method added to support checks of whether a 
   205      destination address should be accepted as one of the host's own 
   206      addresses.  
   207 
   208   i) UniformDiscPositionAllocator added; distributes uniformly the nodes 
   209      within a disc of given radius. 
   210 
   211   j) ChannelNumber attribute added to YansWifiPhy. Now it is possible to 
   212      setup wifi channel using WifiPhyHelper::Set() method.
   213 
   214   k) WaypointMobilityModel provides a method to add mobility as a set of 
   215      (time, position) pairs
   216 
   217   l) 802.11p WiFi standards 
   218   
   219   m) UDP Client/Server application
   220 
   221   n) Support transactions in the SQLite output interface, making it usable for larger amounts of data
   222 
   223 API changes from ns-3.6
   224 -----------------------
   225 API changes for this release are documented in the file CHANGES.html. 
   226 
   227 Bugs fixed
   228 ----------
   229 The following lists many of the bugs that were fixed since ns-3.6, in
   230 many cases referencing the Bugzilla bug number
   231    - bug 752: Object::DoStart is not executed for objects created at t > 0
   232    - bug 767:  Incorrect modulation for 802.11a modes
   233    - bug 725: wifi fragmentation and RTS cannot be used at the same time
   234    - bug 782: CreateTap () requires IP address in modes other than 
   235      CONFIGURE_LOCAL.
   236    - bug 769: Queue::GetTotalReceived{Bytes,Packets}() broken
   237    - bug 738 ReceiveErrorModel called too late
   238    - Fix NSC improper response to FIN
   239    - Fixed bug in serialization of PbbAddressBlock.
   240    - Fix bug 780 (problem in RoutingTableComputation with asymetric links), 
   241      while adding debugging methods to OLSR.  
   242    - bug 759: Ipv6 uses wrong outgoing interface.
   243    - bug 770: IPv6 size calculation for unknown options is wrong.
   244    - bug 771: Radvd does not set ttl value.
   245    - Fix bug 606:  Arp depends on IP routing system
   246    - pad out CSMA payloads to 46 bytes if needed
   247    - Drop CSMA packets with CRC errors, rescan, dox tweaks
   248    - Add FCS capability to CSMA
   249    - Mesh:Dot11s: fixed airtime metric
   250    - Get emu working again:  Add Dix/Llc option, add and use contextual 
   251      realtime schedule ops, don't refcount realtime simulator impl
   252    - bug 695 - DcfManager::UpdateBackoff () uses slow HighPrecision::Div()
   253    - bug 674 - EIFS is not handled correctly in DcfManager::GetAccessGrantStart
   254    - bug 739 -  OLSR: Strange HTime value in HELLO messages 
   255    - bug 746 -  UDP source address is not set to bound address
   256    - bug 735 Update Olsr for local delivery
   257    - bug 740 OLSR MprCompute () works wrong: fixed
   258    - bug 729 Enable IPv6 over PPP.
   259    - bug 645: fixes for opening stats file with OMNeT++
   260    - bug 689: default energy detection and CCA thresholds are changed to be 
   261      more realistic.
   262    - bug 733: OLSR MPR Computation give incorrect result
   263    - Mesh: HWMP: fixed proactive routes
   264    - Mesh: fixed FLAME PATH_UPDATE procedure, fixed mesh.cc 
   265 
   266 Known issues
   267 ------------
   268 ns-3 builds have been known to fail on the following platforms:
   269   - gcc 3.3 and earlier
   270   - optimized builds on gcc 3.4.4 and 3.4.5
   271   - optimized builds on linux x86 gcc 4.0.x
   272 
   273 
   274 Release 3.6
   275 ===========
   276 
   277 Availability
   278 ------------
   279 This release is immediately available from:
   280 http://www.nsnam.org/releases/ns-allinone-3.6.tar.bz2
   281 
   282 Supported platforms
   283 -------------------
   284 ns-3.6 has been tested on the following platforms:
   285   - linux x86 gcc 4.4.1, 4.2, 4.1, and, 3.4.6.
   286   - linux x86_64 gcc 4.4.0, 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
   287   - MacOS X ppc and x86 (gcc 4.0.x and 4.2.x)
   288   - cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized)
   289 
   290 Not all ns-3 options are available on all platforms; consult the
   291 wiki for more information:
   292 http://www.nsnam.org/wiki/index.php/Installation
   293 
   294 New user-visible features
   295 -------------------------
   296 
   297   a) 802.11 models:
   298      - Add an implementation of the minstrel rate control algorithm 
   299        (Duy Nguyen for gsoc)
   300      - AthstatsHelper: enables the wifi device to produce periodic 
   301        reports similar to the ones generated by madwifi's
   302        athstats tool (Nicola Baldo)
   303      - 10MHz and 5MHz channel width supported by 802.11a model 
   304        (Ramon Bauza and Kirill Andreev)
   305      - Channel switching support. YansWifiPhy can now switch among 
   306        different channels (Ramon Bauza and Pavel Boyko)
   307   
   308   b) IPv6 models:
   309     - IPv6 interface;
   310     - IPv6 layer;
   311     - IPv6 raw socket;
   312     - Static IPv6 routing;
   313     - ICMPv6 layer;
   314     - Some ICMPv6 error messages (destination unreachable, ...);
   315     - Neighbor Discovery Protocol (NS/NA, RS/RA, redirection);
   316     - Ping6 application (send Echo request);
   317     - Radvd application (send RA);
   318     - Examples (ping6, simple-routing-ping6, radvd, radvd-two-prefix,
   319       icmpv6-redirect).
   320 
   321   c) Wireless Mesh Networking models:
   322     - General multi-interface mesh stack infrastructure (devices/mesh module).
   323     - IEEE 802.11s (Draft 3.0) model including Peering Management Protocol and HWMP.
   324     - Forwarding Layer for Meshing (FLAME) protocol.
   325 
   326   d) Nix-vector routing:  
   327     - Ipv4NixVectorHelper
   328     - Examples (nix-simple, nms-p2p-nix)
   329 
   330   e) New Test Framework
   331     - Use test.py instead of ./waf check or ./waf --regression
   332     - Previous unit tests have been ported to new framework.
   333     - Examples are tested for run-ability.
   334 
   335   f) A new Flow Monitor module
   336    - To very easily measure flow metrics in a simulation
   337    - No need to use trace callbacks or parsing trace files
   338 
   339 API changes from ns-3.5
   340 -----------------------
   341 API changes for this release are documented in the file CHANGES.html. 
   342 
   343 Known issues
   344 ------------
   345 ns-3.6 build is known to fail on the following platforms:
   346   - gcc 3.3 and earlier
   347   - optimized builds on gcc 3.4.4 and 3.4.5
   348   - optimized builds on linux x86 gcc 4.0.x
   349 
   350 Release 3.5
   351 ===========
   352 
   353 Availability
   354 ------------
   355 This release is immediately available from:
   356 http://www.nsnam.org/releases/ns-allinone-3.5.tar.bz2
   357 
   358 Supported platforms
   359 -------------------
   360 ns-3.5 has been tested on the following platforms:
   361   - linux x86 gcc 4.2, 4.1, and, 3.4.6.
   362   - linux x86_64 gcc 4.4.0, 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
   363   - MacOS X ppc and x86 (gcc 4.0.x and 4.2.x)
   364   - cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized)
   365   - mingw gcc 3.4.5 (debug only)
   366 
   367 Not all ns-3 options are available on all platforms; consult the
   368 wiki for more information:
   369 http://www.nsnam.org/wiki/index.php/Installation
   370 
   371 New user-visible features
   372 -------------------------
   373 
   374   a) 802.11 MAC:
   375      - EDCA multi-qos-class support (Mirko Banchi)
   376      - 802.11n initial support for A-MSDU frame aggregation (Mirko Banchi)
   377      - aarf-cd and cara rate control algorithms (Federico Maguolo)
   378   b) 802.11 PHY:
   379      - 802.11b PHY support (Gary Pei)
   380      - Nakagami propagation loss model (Timo Bingmann)
   381      - radiotap and prism headers for PCAP output (Nicola Baldo)
   382   c) RandomVariable:
   383      - GammaVariable and ErlangVariable (Timo Bingmann)
   384      - ZipfVariable (Francesco Malandrino)
   385   d) UdpEcho: allows setting the payload of echo packets
   386   e) Ipv4/Ipv4RoutingProtocol: allow fine-grained control over
   387      routing policy and arbitrary composition of routing protocols
   388  
   389 API changes from ns-3.4
   390 -----------------------
   391 API changes for this release are documented in the file CHANGES.html.  The
   392 internal API and composition of the IPv4 stack underwent significant
   393 refactoring in this release cycle.
   394 
   395 Known issues
   396 ------------
   397 ns-3 build is known to fail on the following platforms:
   398   - gcc 3.3 and earlier
   399   - optimized builds on gcc 3.4.4 and 3.4.5
   400   - optimized builds on linux x86 gcc 4.0.x
   401 
   402 Future releases
   403 ---------------
   404 Our next release, which is expected to happen in 2 to 4 months from now, will
   405 feature the merging of some of our projects currently in development including
   406 fuller IPv6 support, some smaller features such as a new Global ARP 
   407 package, and possibly a new Testing and Validation suite.
   408 
   409 Release 3.4
   410 ===========
   411 
   412 Availability
   413 ------------
   414 This release is immediately available from:
   415 http://www.nsnam.org/releases/ns-allinone-3.4.tar.bz2
   416 
   417 Supported platforms
   418 -------------------
   419 ns-3.4 has been tested on the following platforms:
   420   - linux x86 gcc 4.2, 4.1, and, 3.4.6.
   421   - linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
   422   - MacOS X ppc and x86
   423   - cygwin gcc 3.4.4 (debug only)
   424 
   425 Not all ns-3 options are available on all platforms; consult the
   426 wiki for more information:
   427 http://www.nsnam.org/wiki/index.php/Installation
   428 
   429 New user-visible features
   430 -------------------------
   431   a) Wifi models: Timo Bingman contributed a ThreeLogDistance and a Nakagami
   432      propagation loss model based on the ns-2 models. Fabian Mauchle contributed
   433      multicast support.
   434 
   435   b) Object Name Service:  A facility allowing ns-3 Objects to be assigned
   436      names has been added.
   437 
   438   c) Tap Bridge:  A second option for integrating ns-3 with real-world hosts
   439      has been added.  This allows for real hosts to talk over ns-3 net devices
   440      and simulated networks.
   441 
   442   d) A new build option (ns-3-allinone) has been provided to make it easier for
   443      users to download and bulid commonly used ns-3 configurations.
   444 
   445   e) The ns-3 calendar queue scheduler has been ported to ns-3.
   446 
   447   f) XML support has been added to the ConfigStore.
   448 
   449 API changes from ns-3.3
   450 -----------------------
   451 API changes for this release are documented in the file CHANGES.html
   452 
   453 Known issues
   454 ------------
   455 ns-3 build is known to fail on the following platforms:
   456   - gcc 3.3 and earlier
   457   - optimized builds on gcc 3.4.4 and 3.4.5
   458   - optimized builds on linux x86 gcc 4.0.x
   459   - optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2
   460   - MinGW
   461 
   462 The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes 
   463 in preparation of the merge of the IPv6 API and implementation.
   464 
   465 Future releases
   466 ---------------
   467 Our next release, which is expected to happen in 2 to 4 months from now, will
   468 feature the merging of some of our projects currently in development including
   469 fuller IPv6 support, and IPv4 and routing protocol refactoring, and some smaller
   470 features such as a new Global ARP package and possibly a new Testing and Validation
   471 suite,
   472 
   473 Release 3.3
   474 ===========
   475 
   476 Availability
   477 ------------
   478 This release is immediately available from:
   479 http://www.nsnam.org/releases/ns-3.3.tar.bz2
   480 
   481 Supported platforms
   482 -------------------
   483 ns-3.3 has been tested on the following platforms:
   484   - linux x86 gcc 4.2, 4.1, and, 3.4.6.
   485   - linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
   486   - MacOS X ppc and x86
   487   - cygwin gcc 3.4.4 (debug only)
   488 
   489 Not all ns-3 options are available on all platforms; consult the
   490 wiki for more information:
   491 http://www.nsnam.org/wiki/index.php/Installation
   492 
   493 New user-visible features
   494 -------------------------
   495   a) Emulated Net Device
   496      A new net device has been added as enabling technology for ns-3 emulation
   497      scenarios.  See src/devices/emu and examples/emu-udp-echo.cc for details.
   498 
   499   b) ICMP Support
   500      Support for several ICMP messages has been added to ns-3.  See 
   501      src/internet-stack/icmpv4.h for details.
   502 
   503   c) IPv6 Address Support
   504      New clases to support IPv6 addresses has been added to the system.  This
   505      is enabling technology for fuller IPv6 support scheduled for ns-3.4.
   506 
   507   d) A flow-id tag has been added to the contributed code section
   508 
   509   e) Star topologies can be created from the topology helper functions
   510 
   511   f) The global routing code has been made dynamic (not just limited to
   512      (pre-simulation computation) and supports stub network interfaces and 
   513      bridge net devices 
   514 
   515   g) A MatchContainer has been added to the configuration subsystem
   516 
   517 API changes from ns-3.2
   518 -----------------------
   519 API changes for this release are documented in the file CHANGES.html
   520 
   521 Known issues
   522 ------------
   523 ns-3 build is known to fail on the following platforms:
   524   - gcc 3.3 and earlier
   525   - optimized builds on gcc 3.4.4 and 3.4.5
   526   - optimized builds on linux x86 gcc 4.0.x
   527   - optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2
   528   - MinGW
   529 
   530 The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes 
   531 in preparation of the merge of the IPv6 API and implementation.
   532 
   533 Future releases
   534 ---------------
   535 Our next release, which is expected to happen in 2 to 4 months from now, will
   536 feature the merging of some of our projects currently in development including
   537 fuller IPv6 support, and IPv4 and routing protocol refactoring, and some smaller
   538 features such as an object naming facility and a new Global ARP package.
   539 
   540 Release 3.2
   541 ===========
   542 
   543 Availability
   544 ------------
   545 This release is immediately available from:
   546 http://www.nsnam.org/releases/ns-3.2.tar.bz2
   547 
   548 Supported platforms
   549 -------------------
   550 ns-3.2 has been tested on the following platforms:
   551   - linux x86 gcc 4.2, 4.1, and, 3.4.6.
   552   - linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
   553   - MacOS X ppc and x86
   554   - cygwin gcc 3.4.4 (debug only)
   555 
   556 Not all ns-3 options are available on all platforms; consult the
   557 wiki for more information:
   558 http://www.nsnam.org/wiki/index.php/Installation
   559 
   560 New user-visible features
   561 -------------------------
   562   a) Learning bridge (IEEE 802.1D)
   563     It is now possible to bridge together multiple layer 2 devices to
   564     create larger layer 2 networks. The Wifi and Csma models support
   565     this new mode of operation. (contributed by Gustavo Carneiro)
   566 
   567   b) Python bindings
   568     It is now possible to write simulation scripts in python using our 
   569     python bindings (contributed by Gustavo Carneiro).
   570 
   571   c) Real-time simulator
   572     It is now possible to run simulations synchronized on the real-world
   573     wall-clock time (contributed by Craig Dowell).
   574 
   575   d) Network Simulation Cradle
   576     It is now possible to use the Network Simulation Cradle 
   577     (http://www.wand.net.nz/~stj2/nsc/) in ns-3 and run simulations 
   578     using various versions of kernel TCP network stacks. (contributed
   579     by Florian Westphal as part of his Google Summer of Code work)
   580 
   581   e) A statistics framework
   582     Joseph Kopena contributed a statistics framework which can be used
   583     keep track of simulation data in persistent storage across multiple 
   584     runs (database and ascii file backends are available).
   585     More information on the wiki:
   586     http://www.nsnam.org/wiki/index.php/Statistical_Framework_for_Network_Simulation
   587 
   588 API changes from ns-3.1
   589 -----------------------
   590 API changes for this release are documented in the file CHANGES.html
   591 
   592 Known issues
   593 ------------
   594 ns-3 build is known to fail on the following platforms:
   595   - gcc 3.3 and earlier
   596   - optimized builds on gcc 3.4.4 and 3.4.5
   597   - optimized builds on linux x86 gcc 4.0.x
   598   - optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2
   599   - MinGW
   600 
   601 The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes 
   602 in preparation of the merge of the IPv6 API and implementation.
   603 
   604 Future releases
   605 ---------------
   606 Our next release, which is expected to happen in 2 to 4 months from now, will
   607 feature the merging of some of our projects currently in development: IPv6, 
   608 emulation, and synchronous posix sockets.
   609 
   610 Release 3.1 (2008/06/30)
   611 ========================
   612 
   613 The first ns-3 stable release
   614 -----------------------------
   615 
   616 This release is immediately available from:
   617 http://www.nsnam.org/releases/ns-3.1.tar.bz2
   618 
   619 We dedicate this initial ns-3 release to our late contributor and friend, 
   620 Federico Maguolo.
   621 
   622 What is ns-3 ?
   623 --------------
   624 
   625 ns-3 is a new discrete-event network simulator designed for supporting network
   626 research and education. ns-3 features a solid, well documented C++ core and 
   627 models for TCP/IP (IPv4), several link types including WiFi, and mobility 
   628 models.
   629 
   630 ns-3 is an open source project released under the GNU GPLv2 license which 
   631 allows anyone to use ns-3 without having to pay any license fee or royalties. 
   632 ns-3 is actively seeking new contributors to extend the range of supported 
   633 models and/or to maintain existing models.
   634 
   635 Where to get more information about ns-3
   636 ----------------------------------------
   637 
   638 All the ns-3 documentation, is accessible from the ns-3 website: 
   639 http://www.nsnam.org
   640 
   641 Including, tutorials:
   642 http://www.nsnam.org/tutorials.html
   643 
   644 Supported platforms
   645 -------------------
   646 
   647 ns-3 is regularly tested on the following platforms:
   648   - linux x86 gcc 4.2, 4.1, and, 3.4.6.
   649   - linux x86_64 gcc 4.1.3, 4.2.1, 3.4.6
   650   - MacOS X ppc and x86
   651   - cygwin gcc 3.4.4 (debug only)
   652 
   653 Known issues
   654 ------------
   655 
   656 ns-3 is known to fail on the following platforms:
   657   - gcc 3.3 and earlier
   658   - optimized builds on gcc 3.4.4 and 3.4.5
   659   - optimized builds on linux x86 gcc 4.0.x
   660 
   661 The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes 
   662 in preparation of the merge of the IPv6 API and implementation.
   663 
   664 Future releases
   665 ---------------
   666 
   667 Our next release, which is expected to happen in 2 to 4 months from now, will
   668 feature the merging of some of our projects currently in development: python 
   669 scripting, IPv6, emulation, a statistics framework and synchronous posix 
   670 sockets.
   671 
   672 Release 3.0.13 (2008/06/02)
   673 ===========================
   674 - point to point links generate ppp pcap traces
   675 - point to point links support asymmetrical data rates.
   676 - generate doxygen documentation for all attributes and trace sources
   677 - add ConfigStore and GtkConfigStore to contrib module
   678 - socket API now support tx and rx buffers: implemented for UDP and TCP
   679 - ARP cache now supports per-entry pending queues
   680 - lots of bugfixes and implementation and API cleanups
   681 
   682 Warning: among API changes in this release, Application::Start and 
   683 Application::Stop now interprets the time argument as a relative
   684 instead of absolute simulation time, to align with how Simulator::Schedule
   685 behaves.  Any code that calls these APIs in the middle of the simulation 
   686 will need to be adapted.  
   687 
   688 The API of Simulator::StopAt (time) has also changed.  Now it is 
   689 called Simulator::Stop (time), and takes a relative time, instead of 
   690 absolute.
   691 
   692 Release 3.0.12 (2008/04/07)
   693 ===========================
   694     - Add Attribute support to the TypeId metadata system and add
   695 attribute support to all in-tree models
   696     - Add a mid-level helper API to build simulation topologies 
   697 and perform simple ascii and pcap link-level tracing.
   698     - Large amount of structural changes to accomodate the needs
   699 of the upcoming python bindings
   700     - new rate control algorithm (RRAA) and a jakes propagation model
   701 in the 802.11 model (Federico Maguolo).
   702     - regression test framework added
   703     - TCP delayed acknowledgements and multitasking server
   704 
   705 Release 3.0.11 (2008/02/15)
   706 ===========================
   707     - Initial port of GTNetS TCP implementation (initial version 
   708 that does not support multitasking or delayed acknowledgments yet, 
   709 but supports a reliable stream service)
   710     - Changes to the ns-3 object model to create a TypeId-based 
   711 metadata system
   712     - lots of bug fixes throughout the system
   713     - tutorial updates
   714 
   715 Release 3.0.10 (2008/01/15)
   716 ===========================
   717    - Add tutorial document content;
   718    - Valgrind option for "waf" tool;
   719    - Doxygen organization changes.
   720 
   721 Release 3.0.9 (2007/12/15)
   722 ==========================
   723    - A 802.11 model ported from Yans. This model supports:
   724        * a rather extensive PHY model
   725        * log-distance and friis propagation model
   726        * a simple set of rate control algorithms (ARF, Ideal, 
   727          AARF, constant-rate)
   728        * adhoc and infrastructure mode (beacon+assoc)
   729    - Use smart pointer for Packet in the APIs
   730    - A new contrib directory with helper classes: 
   731      EventGarbageCollector, Gnuplot
   732    - Tracing support for Applications
   733    - many bugs fixed
   734 
   735 Release 3.0.8 (2007/11/15)
   736 ==========================
   737    - A simple error model
   738    - Source files for ns-3 tutorial
   739 
   740 Release 3.0.7 (2007/10/15)
   741 ==========================
   742   - OLSR routing protocol
   743   - A timer class
   744   - Additional mobility models (random waypoint, random 2D walk)
   745   - A mobility visualization tool 
   746 
   747 Release 3.0.6 (2007/09/15)
   748 ==========================
   749   - Static multicast IPv4 routing
   750   - Logging overhaul (NS_LOG macros)
   751   - Refactoring of tracing subsystem
   752   - Tutorial document started
   753  
   754 Release 3.0.5 (2007/08/15)
   755 ==========================
   756 
   757   - Refactoring to support win32-based unix environments (Cygwin, mingw)
   758   - "Packet socket" for allowing applications to access NetDevices directly
   759   - Generalized, polymorphic Address class
   760   - Add CSMA NetDevice model (from Emmanuelle Laprise)
   761   - Modularize IPv4 routing support (from Gustavo Carneiro)
   762   - Add mobility framework and basic mobility models 
   763   - Global unicast centralized routing 
   764 
   765 Release 3.0.4 (2007/07/15)
   766 ==========================
   767 
   768   - Enable waf as the default build system.
   769   - Per-packet metadata:  a system to track which headers and trailers 
   770     are added to a packet
   771   - Simplifications to point-to-point devices and channel
   772 
   773 Release 3.0.3 (2007/06/15)
   774 ==========================
   775 
   776   - Enable Waf for release tarballs: users can now build ns-3
   777     with the "waf" tool. See doc/build-waf.txt.
   778   - Add support for variable time precision: it is now possible
   779     to run a simulation with an accuracy which is higher or lower
   780     than a nanosecond: seconds, milliseconds, microseconds, 
   781     femtoseconds and picoseconds are supported.
   782   - Optimize and rework the COM framework, solidify the component 
   783     manager
   784   - Many small API cleanups
   785 
   786 Release 3.0.2 (2007/05/18)
   787 ==========================
   788 
   789   - Implement a new memory management infrastructure based
   790     on reference counting and smart pointers (the latter being
   791     optional)
   792 
   793   - Implement a COM-like framework with support for QueryInterface
   794     to provide object extensibility
   795 
   796   - Add support for a BSD-style socket API for user applications
   797 
   798 Release 3.0.1 (2007/03/31)
   799 ==========================
   800 
   801   - First public release; not yet pre-alpha.
   802 
   803   - Simple UDP-based simulation script (examples/simple-p2p.cc)