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