CHANGES.html
author Mathieu Lacage <mathieu.lacage@inria.fr>
Sun, 17 Apr 2011 14:23:18 +0200
changeset 7059 b971a123c861
parent 7024 4392d52b3536
child 7143 0146b1916bc0
permissions -rw-r--r--
RELEASE_NOTES, CHANGES.html
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     1
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     2
<html>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     3
<head>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     4
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     5
   <title>ns-3 Change Log</title>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     6
</head>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     7
<body>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     8
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     9
<h1>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    10
ns-3: API and model change history</h1>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    11
<!--
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    12
This ChangeLog is updated in the reverse order 
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    13
with the most recent changes coming first.  Date format:  DD-MM-YYYY
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    14
-->
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    15
<p>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    16
ns-3 is an evolving system and there will be API or behavioral changes
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    17
from time to time.   Users who try to use scripts or models across
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    18
versions of ns-3 may encounter problems at compile time, run time, or
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    19
may see the simulation output change.  </p>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    20
<p>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    21
We have adopted the development policy that we are going to try to ease
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    22
the impact of these changes on users by documenting these changes in a
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    23
single place (this file), and not by providing a temporary or permanent
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    24
backward-compatibility software layer.  </p>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    25
<p>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    26
The goal is that users who encounter a problem when trying to use older
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    27
code with newer code should be able to consult this file to find
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    28
guidance as to how to fix the problem.  For instance, if a method name
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    29
or signature has changed, it should be stated what the new replacement
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    30
name is. </p>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    31
<p>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    32
Note that users who upgrade the simulator across versions, or who work
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    33
directly out of the development tree, may find that simulation output
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    34
changes even when the compilation doesn't break, such as when a
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    35
simulator default value is changed.  Therefore, it is good practice for
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    36
_anyone_ using code across multiple ns-3 releases to consult this file,
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    37
as well as the RELEASE_NOTES, to understand what has changed over time.
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    38
</p>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    39
<p>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    40
This file is a best-effort approach to solving this issue; we will do
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    41
our best but can guarantee that there will be things that fall through
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    42
the cracks, unfortunately.  If you, as a user, can suggest improvements
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    43
to this file based on your experience, please contribute a patch or drop
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    44
us a note on ns-developers mailing list.  </p>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    45
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    46
<hr>
6775
0783f42a364b Make test cases not return bool valuesMake all TestSuite instances be static
Mitch Watrous <watrous@u.washington.edu>
parents: 6760
diff changeset
    47
<h1>Changes from ns-3.10 to ns-3.11</h1>
0783f42a364b Make test cases not return bool valuesMake all TestSuite instances be static
Mitch Watrous <watrous@u.washington.edu>
parents: 6760
diff changeset
    48
0783f42a364b Make test cases not return bool valuesMake all TestSuite instances be static
Mitch Watrous <watrous@u.washington.edu>
parents: 6760
diff changeset
    49
<h2>Changes to build system:</h2>
0783f42a364b Make test cases not return bool valuesMake all TestSuite instances be static
Mitch Watrous <watrous@u.washington.edu>
parents: 6760
diff changeset
    50
<ul>
7024
4392d52b3536 Make examples not be built by default
Mitch Watrous <watrous@u.washington.edu>
parents: 7003
diff changeset
    51
<li><b>Examples and tests are no longer built by default in ns-3</b>
6999
dd78264fda2d Move tests from core module to its test library and update CHANGES.html
Mitch Watrous <watrous@u.washington.edu>
parents: 6969
diff changeset
    52
<p>
7024
4392d52b3536 Make examples not be built by default
Mitch Watrous <watrous@u.washington.edu>
parents: 7003
diff changeset
    53
You can now make examples and tests be built in ns-3 in two ways.
6999
dd78264fda2d Move tests from core module to its test library and update CHANGES.html
Mitch Watrous <watrous@u.washington.edu>
parents: 6969
diff changeset
    54
<ol>
dd78264fda2d Move tests from core module to its test library and update CHANGES.html
Mitch Watrous <watrous@u.washington.edu>
parents: 6969
diff changeset
    55
<li> Using build.py when ns-3 is built for the first time:
dd78264fda2d Move tests from core module to its test library and update CHANGES.html
Mitch Watrous <watrous@u.washington.edu>
parents: 6969
diff changeset
    56
<pre>
7024
4392d52b3536 Make examples not be built by default
Mitch Watrous <watrous@u.washington.edu>
parents: 7003
diff changeset
    57
    ./build.py --enable-examples --enable-tests
6999
dd78264fda2d Move tests from core module to its test library and update CHANGES.html
Mitch Watrous <watrous@u.washington.edu>
parents: 6969
diff changeset
    58
</pre>
dd78264fda2d Move tests from core module to its test library and update CHANGES.html
Mitch Watrous <watrous@u.washington.edu>
parents: 6969
diff changeset
    59
<li> Using waf once ns-3 has been built:
dd78264fda2d Move tests from core module to its test library and update CHANGES.html
Mitch Watrous <watrous@u.washington.edu>
parents: 6969
diff changeset
    60
<pre>
7024
4392d52b3536 Make examples not be built by default
Mitch Watrous <watrous@u.washington.edu>
parents: 7003
diff changeset
    61
    ./waf configure --enable-examples --enable-tests
6999
dd78264fda2d Move tests from core module to its test library and update CHANGES.html
Mitch Watrous <watrous@u.washington.edu>
parents: 6969
diff changeset
    62
</pre>
dd78264fda2d Move tests from core module to its test library and update CHANGES.html
Mitch Watrous <watrous@u.washington.edu>
parents: 6969
diff changeset
    63
</ol>
dd78264fda2d Move tests from core module to its test library and update CHANGES.html
Mitch Watrous <watrous@u.washington.edu>
parents: 6969
diff changeset
    64
</p></li>
7003
a0b1500cdaad Move tests from core module to its test library and update CHANGES.html
Mitch Watrous <watrous@u.washington.edu>
parents: 6999
diff changeset
    65
<li><b> Subsets of modules can be enabled using the ns-3 configuration file</b>
a0b1500cdaad Move tests from core module to its test library and update CHANGES.html
Mitch Watrous <watrous@u.washington.edu>
parents: 6999
diff changeset
    66
<p>A new configuration file, .ns3rc, has been added to ns-3 that
a0b1500cdaad Move tests from core module to its test library and update CHANGES.html
Mitch Watrous <watrous@u.washington.edu>
parents: 6999
diff changeset
    67
specifies the modules that should be enabled during the ns-3 build.
a0b1500cdaad Move tests from core module to its test library and update CHANGES.html
Mitch Watrous <watrous@u.washington.edu>
parents: 6999
diff changeset
    68
See the documentation for details.
a0b1500cdaad Move tests from core module to its test library and update CHANGES.html
Mitch Watrous <watrous@u.washington.edu>
parents: 6999
diff changeset
    69
</p></li>
6775
0783f42a364b Make test cases not return bool valuesMake all TestSuite instances be static
Mitch Watrous <watrous@u.washington.edu>
parents: 6760
diff changeset
    70
</ul>
0783f42a364b Make test cases not return bool valuesMake all TestSuite instances be static
Mitch Watrous <watrous@u.washington.edu>
parents: 6760
diff changeset
    71
0783f42a364b Make test cases not return bool valuesMake all TestSuite instances be static
Mitch Watrous <watrous@u.washington.edu>
parents: 6760
diff changeset
    72
<h2>New API:</h2>
0783f42a364b Make test cases not return bool valuesMake all TestSuite instances be static
Mitch Watrous <watrous@u.washington.edu>
parents: 6760
diff changeset
    73
<ul>
7059
b971a123c861 RELEASE_NOTES, CHANGES.html
Mathieu Lacage <mathieu.lacage@inria.fr>
parents: 7024
diff changeset
    74
<li><b>int64x64_t</b>
b971a123c861 RELEASE_NOTES, CHANGES.html
Mathieu Lacage <mathieu.lacage@inria.fr>
parents: 7024
diff changeset
    75
<p>The <b>int64x64_t</b> type implements all the C++ arithmetic operators to behave like one of the
b971a123c861 RELEASE_NOTES, CHANGES.html
Mathieu Lacage <mathieu.lacage@inria.fr>
parents: 7024
diff changeset
    76
C++ native types. It is a 64.64 integer type which means that it is a 128bit integer type with
b971a123c861 RELEASE_NOTES, CHANGES.html
Mathieu Lacage <mathieu.lacage@inria.fr>
parents: 7024
diff changeset
    77
64 bits of fractional precision. The existing <b>Time</b> type is now automatically convertible to
b971a123c861 RELEASE_NOTES, CHANGES.html
Mathieu Lacage <mathieu.lacage@inria.fr>
parents: 7024
diff changeset
    78
<b>int64x64_t</b> to allow arbitrarily complex arithmetic operations on the content of <b>Time</b>
b971a123c861 RELEASE_NOTES, CHANGES.html
Mathieu Lacage <mathieu.lacage@inria.fr>
parents: 7024
diff changeset
    79
objects. The implementation of <b>int64x64_t</b> is based on the previously-existing
b971a123c861 RELEASE_NOTES, CHANGES.html
Mathieu Lacage <mathieu.lacage@inria.fr>
parents: 7024
diff changeset
    80
<b>HighPrecision</b> type and supercedes it.
b971a123c861 RELEASE_NOTES, CHANGES.html
Mathieu Lacage <mathieu.lacage@inria.fr>
parents: 7024
diff changeset
    81
</p></li>
6775
0783f42a364b Make test cases not return bool valuesMake all TestSuite instances be static
Mitch Watrous <watrous@u.washington.edu>
parents: 6760
diff changeset
    82
</ul>
0783f42a364b Make test cases not return bool valuesMake all TestSuite instances be static
Mitch Watrous <watrous@u.washington.edu>
parents: 6760
diff changeset
    83
0783f42a364b Make test cases not return bool valuesMake all TestSuite instances be static
Mitch Watrous <watrous@u.washington.edu>
parents: 6760
diff changeset
    84
<h2>Changes to existing API:</h2>
0783f42a364b Make test cases not return bool valuesMake all TestSuite instances be static
Mitch Watrous <watrous@u.washington.edu>
parents: 6760
diff changeset
    85
<ul>
0783f42a364b Make test cases not return bool valuesMake all TestSuite instances be static
Mitch Watrous <watrous@u.washington.edu>
parents: 6760
diff changeset
    86
<li><b>Test cases no longer return a boolean value</b>
0783f42a364b Make test cases not return bool valuesMake all TestSuite instances be static
Mitch Watrous <watrous@u.washington.edu>
parents: 6760
diff changeset
    87
<p>Unit test case DoRun() functions no longer return a bool value.  Now, they don't return a value at all.  The motivation for this change was to disallow users from merely returning "true" from a test case to force an error to be recorded.  Instead, test case macros should be used.
0783f42a364b Make test cases not return bool valuesMake all TestSuite instances be static
Mitch Watrous <watrous@u.washington.edu>
parents: 6760
diff changeset
    88
</p></li>
6969
1288d191868b PhyMac --> GenericPhy
Nicola Baldo <nbaldo@cttc.es>
parents: 6775
diff changeset
    89
<li><b>PhyMac renamed to GenericPhy</b>
1288d191868b PhyMac --> GenericPhy
Nicola Baldo <nbaldo@cttc.es>
parents: 6775
diff changeset
    90
<p>The PhyMac interface previously defined in phy-mac.h has been
1288d191868b PhyMac --> GenericPhy
Nicola Baldo <nbaldo@cttc.es>
parents: 6775
diff changeset
    91
  renamed to GenericPhy interface and moved to a new file
1288d191868b PhyMac --> GenericPhy
Nicola Baldo <nbaldo@cttc.es>
parents: 6775
diff changeset
    92
  generic-phy.h. The related variables and methods have been renamed accordingly. 
1288d191868b PhyMac --> GenericPhy
Nicola Baldo <nbaldo@cttc.es>
parents: 6775
diff changeset
    93
</p></li>
7059
b971a123c861 RELEASE_NOTES, CHANGES.html
Mathieu Lacage <mathieu.lacage@inria.fr>
parents: 7024
diff changeset
    94
<li><b>Scalar</b>
b971a123c861 RELEASE_NOTES, CHANGES.html
Mathieu Lacage <mathieu.lacage@inria.fr>
parents: 7024
diff changeset
    95
<p>The Scalar type has been removed. Typical code such as:
b971a123c861 RELEASE_NOTES, CHANGES.html
Mathieu Lacage <mathieu.lacage@inria.fr>
parents: 7024
diff changeset
    96
<pre>
b971a123c861 RELEASE_NOTES, CHANGES.html
Mathieu Lacage <mathieu.lacage@inria.fr>
parents: 7024
diff changeset
    97
Time tmp = ...;
b971a123c861 RELEASE_NOTES, CHANGES.html
Mathieu Lacage <mathieu.lacage@inria.fr>
parents: 7024
diff changeset
    98
Time result = tmp * Scalar (5);
b971a123c861 RELEASE_NOTES, CHANGES.html
Mathieu Lacage <mathieu.lacage@inria.fr>
parents: 7024
diff changeset
    99
</pre>
b971a123c861 RELEASE_NOTES, CHANGES.html
Mathieu Lacage <mathieu.lacage@inria.fr>
parents: 7024
diff changeset
   100
Can now be rewritten as:
b971a123c861 RELEASE_NOTES, CHANGES.html
Mathieu Lacage <mathieu.lacage@inria.fr>
parents: 7024
diff changeset
   101
<pre>
b971a123c861 RELEASE_NOTES, CHANGES.html
Mathieu Lacage <mathieu.lacage@inria.fr>
parents: 7024
diff changeset
   102
Time tmp = ...;
b971a123c861 RELEASE_NOTES, CHANGES.html
Mathieu Lacage <mathieu.lacage@inria.fr>
parents: 7024
diff changeset
   103
Time result = Time (tmp * 5);
b971a123c861 RELEASE_NOTES, CHANGES.html
Mathieu Lacage <mathieu.lacage@inria.fr>
parents: 7024
diff changeset
   104
</pre>
b971a123c861 RELEASE_NOTES, CHANGES.html
Mathieu Lacage <mathieu.lacage@inria.fr>
parents: 7024
diff changeset
   105
</p>
b971a123c861 RELEASE_NOTES, CHANGES.html
Mathieu Lacage <mathieu.lacage@inria.fr>
parents: 7024
diff changeset
   106
</li>
6775
0783f42a364b Make test cases not return bool valuesMake all TestSuite instances be static
Mitch Watrous <watrous@u.washington.edu>
parents: 6760
diff changeset
   107
</ul>
0783f42a364b Make test cases not return bool valuesMake all TestSuite instances be static
Mitch Watrous <watrous@u.washington.edu>
parents: 6760
diff changeset
   108
0783f42a364b Make test cases not return bool valuesMake all TestSuite instances be static
Mitch Watrous <watrous@u.washington.edu>
parents: 6760
diff changeset
   109
<h2>Changed behavior:</h2>
0783f42a364b Make test cases not return bool valuesMake all TestSuite instances be static
Mitch Watrous <watrous@u.washington.edu>
parents: 6760
diff changeset
   110
<ul>
0783f42a364b Make test cases not return bool valuesMake all TestSuite instances be static
Mitch Watrous <watrous@u.washington.edu>
parents: 6760
diff changeset
   111
</ul>
0783f42a364b Make test cases not return bool valuesMake all TestSuite instances be static
Mitch Watrous <watrous@u.washington.edu>
parents: 6760
diff changeset
   112
0783f42a364b Make test cases not return bool valuesMake all TestSuite instances be static
Mitch Watrous <watrous@u.washington.edu>
parents: 6760
diff changeset
   113
<hr>
6598
7459bc9f1a3b Start tracking ns-3.10 changes
Tom Henderson <tomh@tomh.org>
parents: 6557
diff changeset
   114
<h1>Changes from ns-3.9 to ns-3.10</h1>
7459bc9f1a3b Start tracking ns-3.10 changes
Tom Henderson <tomh@tomh.org>
parents: 6557
diff changeset
   115
7459bc9f1a3b Start tracking ns-3.10 changes
Tom Henderson <tomh@tomh.org>
parents: 6557
diff changeset
   116
<h2>Changes to build system:</h2>
6624
a071889af159 Remove regression tests from waf
Mitch Watrous <watrous@u.washington.edu>
parents: 6598
diff changeset
   117
<ul>
a071889af159 Remove regression tests from waf
Mitch Watrous <watrous@u.washington.edu>
parents: 6598
diff changeset
   118
<li><b>Regression tests are no longer run using waf</b>
6652
2d8de9b3be74 clarify the status of ./waf --regression removal
Tom Henderson <tomh@tomh.org>
parents: 6624
diff changeset
   119
<p>All regression testing is now being done in test.py.  As a result, a 
2d8de9b3be74 clarify the status of ./waf --regression removal
Tom Henderson <tomh@tomh.org>
parents: 6624
diff changeset
   120
separate reference trace repository is no longer needed to perform 
2d8de9b3be74 clarify the status of ./waf --regression removal
Tom Henderson <tomh@tomh.org>
parents: 6624
diff changeset
   121
regression tests.  Tests that require comparison against known good traces
2d8de9b3be74 clarify the status of ./waf --regression removal
Tom Henderson <tomh@tomh.org>
parents: 6624
diff changeset
   122
can still be run from test.py.  The --regression option for waf has been
6760
9e4859305744 update release notes and CHANGES.html file
Tom Henderson <tomh@tomh.org>
parents: 6735
diff changeset
   123
removed.  However, the "-r" option to download.py has been kept to 
9e4859305744 update release notes and CHANGES.html file
Tom Henderson <tomh@tomh.org>
parents: 6735
diff changeset
   124
allow users to fetch older revisions of ns-3 that contain these traces.
6624
a071889af159 Remove regression tests from waf
Mitch Watrous <watrous@u.washington.edu>
parents: 6598
diff changeset
   125
</p>
6760
9e4859305744 update release notes and CHANGES.html file
Tom Henderson <tomh@tomh.org>
parents: 6735
diff changeset
   126
<li><b>Documentation converted to Sphinx</b>
9e4859305744 update release notes and CHANGES.html file
Tom Henderson <tomh@tomh.org>
parents: 6735
diff changeset
   127
<p> Project documentation (manual, tutorial, and testing) have been
9e4859305744 update release notes and CHANGES.html file
Tom Henderson <tomh@tomh.org>
parents: 6735
diff changeset
   128
converted to Sphinx from the GNU Texinfo markup format.</p>
6624
a071889af159 Remove regression tests from waf
Mitch Watrous <watrous@u.washington.edu>
parents: 6598
diff changeset
   129
</ul>
6598
7459bc9f1a3b Start tracking ns-3.10 changes
Tom Henderson <tomh@tomh.org>
parents: 6557
diff changeset
   130
7459bc9f1a3b Start tracking ns-3.10 changes
Tom Henderson <tomh@tomh.org>
parents: 6557
diff changeset
   131
<h2>New API:</h2>
6678
be3da7f1f82a Bring CHANGES.html and RELEASE_NOTES up to date
Tom Henderson <tomh@tomh.org>
parents: 6673
diff changeset
   132
<ul>
be3da7f1f82a Bring CHANGES.html and RELEASE_NOTES up to date
Tom Henderson <tomh@tomh.org>
parents: 6673
diff changeset
   133
<li><b>Pyviz visualizer</b>  
6679
3496cb66848e Update the pyviz API description
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6678
diff changeset
   134
<p>A Python-based visualizer called pyviz is now integrated with ns-3.
3496cb66848e Update the pyviz API description
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6678
diff changeset
   135
For Python simulations, there is an API to start the visualizer.  You
3496cb66848e Update the pyviz API description
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6678
diff changeset
   136
have to import the visualizer module, and call visualizer.start()
3496cb66848e Update the pyviz API description
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6678
diff changeset
   137
instead of ns3.Simulator.Run().  For C++ simulations, there is no API.
3496cb66848e Update the pyviz API description
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6678
diff changeset
   138
For C++ simulations (but also works for Python ones) you need to set
3496cb66848e Update the pyviz API description
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6678
diff changeset
   139
the GlobalValue SimulatorImplementationType to
3496cb66848e Update the pyviz API description
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6678
diff changeset
   140
"ns3::VisualSimulatorImpl".  This can be set from the command-line,
3496cb66848e Update the pyviz API description
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6678
diff changeset
   141
for example (add the
3496cb66848e Update the pyviz API description
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6678
diff changeset
   142
<tt>--SimulatorImplementationType=ns3::VisualSimulatorImpl</tt>
3496cb66848e Update the pyviz API description
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6678
diff changeset
   143
option), or via the waf option <tt>--visualizer</tt>, in addition to
3496cb66848e Update the pyviz API description
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6678
diff changeset
   144
the usual <tt>--run</tt> option to run programs.
6678
be3da7f1f82a Bring CHANGES.html and RELEASE_NOTES up to date
Tom Henderson <tomh@tomh.org>
parents: 6673
diff changeset
   145
</p></li>
be3da7f1f82a Bring CHANGES.html and RELEASE_NOTES up to date
Tom Henderson <tomh@tomh.org>
parents: 6673
diff changeset
   146
be3da7f1f82a Bring CHANGES.html and RELEASE_NOTES up to date
Tom Henderson <tomh@tomh.org>
parents: 6673
diff changeset
   147
<li><b>WaypointMobility attributes</b>
be3da7f1f82a Bring CHANGES.html and RELEASE_NOTES up to date
Tom Henderson <tomh@tomh.org>
parents: 6673
diff changeset
   148
<p>Two attributes were added to WaypointMobility model:  LazyNotify and
be3da7f1f82a Bring CHANGES.html and RELEASE_NOTES up to date
Tom Henderson <tomh@tomh.org>
parents: 6673
diff changeset
   149
InitialPositionIs Waypoint.  See RELEASE_NOTES for details.  </p> </li>
be3da7f1f82a Bring CHANGES.html and RELEASE_NOTES up to date
Tom Henderson <tomh@tomh.org>
parents: 6673
diff changeset
   150
be3da7f1f82a Bring CHANGES.html and RELEASE_NOTES up to date
Tom Henderson <tomh@tomh.org>
parents: 6673
diff changeset
   151
<li><b>802.11g rates for ERP-OFDM added</b>
be3da7f1f82a Bring CHANGES.html and RELEASE_NOTES up to date
Tom Henderson <tomh@tomh.org>
parents: 6673
diff changeset
   152
<p>New WifiModes of the form ErpOfdmRatexxMbps, where xx is the rate
be3da7f1f82a Bring CHANGES.html and RELEASE_NOTES up to date
Tom Henderson <tomh@tomh.org>
parents: 6673
diff changeset
   153
in Mbps (6, 9, 12, 18, 24, 36, 48, 54), are available for 802.11g.  
6735
8fda47c85df2 update release notes and changes.html
Tom Henderson <tomh@tomh.org>
parents: 6725
diff changeset
   154
More details are in the RELEASE_NOTES.  </p> </li>
6678
be3da7f1f82a Bring CHANGES.html and RELEASE_NOTES up to date
Tom Henderson <tomh@tomh.org>
parents: 6673
diff changeset
   155
6689
e2de571e920a Implement Socket::GetSocketType
Josh Pelkey <jpelkey@gatech.edu>
parents: 6679
diff changeset
   156
<li><b>Socket::GetSocketType ()</b>
e2de571e920a Implement Socket::GetSocketType
Josh Pelkey <jpelkey@gatech.edu>
parents: 6679
diff changeset
   157
<p>This is analogous to getsockopt(SO_TYPE). ipv4-raw-socket, ipv6-raw-socket,
6692
591fb1aa0ca4 Avoid enum name collision in socket
Josh Pelkey <jpelkey@gatech.edu>
parents: 6690
diff changeset
   158
  and packet-socket return NS3_SOCK_RAW. tcp-socket and nsc-tcp-socket return
591fb1aa0ca4 Avoid enum name collision in socket
Josh Pelkey <jpelkey@gatech.edu>
parents: 6690
diff changeset
   159
  NS3_SOCK_STREAM. udp-socket returns NS3_SOCK_DGRAM.</p></li>
6689
e2de571e920a Implement Socket::GetSocketType
Josh Pelkey <jpelkey@gatech.edu>
parents: 6679
diff changeset
   160
6690
3fab9a03dacd Add BulkSendApplication
Josh Pelkey <jpelkey@gatech.edu>
parents: 6689
diff changeset
   161
<li><b>BulkSendApplication</b>
3fab9a03dacd Add BulkSendApplication
Josh Pelkey <jpelkey@gatech.edu>
parents: 6689
diff changeset
   162
<p>Sends data as fast as possible up to MaxBytes or unlimited if MaxBytes is 
3fab9a03dacd Add BulkSendApplication
Josh Pelkey <jpelkey@gatech.edu>
parents: 6689
diff changeset
   163
zero.  Think OnOff, but without the "off" and without the variable data rate. 
6692
591fb1aa0ca4 Avoid enum name collision in socket
Josh Pelkey <jpelkey@gatech.edu>
parents: 6690
diff changeset
   164
This application only works with NS3_SOCK_STREAM and NS3_SOCK_SEQPACKET sockets, 
6690
3fab9a03dacd Add BulkSendApplication
Josh Pelkey <jpelkey@gatech.edu>
parents: 6689
diff changeset
   165
for example TCP sockets and not UDP sockets. A helper class exists to 
3fab9a03dacd Add BulkSendApplication
Josh Pelkey <jpelkey@gatech.edu>
parents: 6689
diff changeset
   166
facilitate creating BulkSendApplications. The API for the helper class 
3fab9a03dacd Add BulkSendApplication
Josh Pelkey <jpelkey@gatech.edu>
parents: 6689
diff changeset
   167
is similar to existing application helper classes, for example, OnOff.
6699
d8909a1fd0ff RV battery model and WiFi energy example
He Wu <mdzz@u.washington.edu>
parents: 6692
diff changeset
   168
</p></li>
d8909a1fd0ff RV battery model and WiFi energy example
He Wu <mdzz@u.washington.edu>
parents: 6692
diff changeset
   169
d8909a1fd0ff RV battery model and WiFi energy example
He Wu <mdzz@u.washington.edu>
parents: 6692
diff changeset
   170
<li><b>Rakhmatov Vrudhula non-linear battery model</b>
d8909a1fd0ff RV battery model and WiFi energy example
He Wu <mdzz@u.washington.edu>
parents: 6692
diff changeset
   171
<p>New class and helper for this battery model. </p></li>
6690
3fab9a03dacd Add BulkSendApplication
Josh Pelkey <jpelkey@gatech.edu>
parents: 6689
diff changeset
   172
6703
1204fcdb71c2 Update release notes
Tom Henderson <tomh@tomh.org>
parents: 6699
diff changeset
   173
<li><b>Print IPv4 routing tables</b>
1204fcdb71c2 Update release notes
Tom Henderson <tomh@tomh.org>
parents: 6699
diff changeset
   174
<p>New class methods and helpers for printing IPv4 routing tables
1204fcdb71c2 Update release notes
Tom Henderson <tomh@tomh.org>
parents: 6699
diff changeset
   175
to an output stream. </p></li>
1204fcdb71c2 Update release notes
Tom Henderson <tomh@tomh.org>
parents: 6699
diff changeset
   176
6717
e041eb593928 DSDV routing protocol
Hemanth Narra <hemanth@ittc.ku.edu>
parents: 6703
diff changeset
   177
<li><b>Destination-Sequenced Distance Vector (DSDV) routing protocol</b>
e041eb593928 DSDV routing protocol
Hemanth Narra <hemanth@ittc.ku.edu>
parents: 6703
diff changeset
   178
<p>Derives from Ipv4RoutingProtocol and contains a DsdvHelper class. </p></li>
e041eb593928 DSDV routing protocol
Hemanth Narra <hemanth@ittc.ku.edu>
parents: 6703
diff changeset
   179
6735
8fda47c85df2 update release notes and changes.html
Tom Henderson <tomh@tomh.org>
parents: 6725
diff changeset
   180
<li><b>3GPP Long Term Evolution (LTE) models</b>
8fda47c85df2 update release notes and changes.html
Tom Henderson <tomh@tomh.org>
parents: 6725
diff changeset
   181
<p>More details are in the RELEASE_NOTES. </p></li>
8fda47c85df2 update release notes and changes.html
Tom Henderson <tomh@tomh.org>
parents: 6725
diff changeset
   182
6678
be3da7f1f82a Bring CHANGES.html and RELEASE_NOTES up to date
Tom Henderson <tomh@tomh.org>
parents: 6673
diff changeset
   183
</ul>
6598
7459bc9f1a3b Start tracking ns-3.10 changes
Tom Henderson <tomh@tomh.org>
parents: 6557
diff changeset
   184
7459bc9f1a3b Start tracking ns-3.10 changes
Tom Henderson <tomh@tomh.org>
parents: 6557
diff changeset
   185
<h2>Changes to existing API:</h2>
6673
ec22aa763e2d Bug 978: Consolidate Wi-Fi MAC high functionality
Dean Armstrong <deanarm@gmail.com>
parents: 6662
diff changeset
   186
<ul>
ec22aa763e2d Bug 978: Consolidate Wi-Fi MAC high functionality
Dean Armstrong <deanarm@gmail.com>
parents: 6662
diff changeset
   187
<li><b>Consolidation of Wi-Fi MAC high functionality</b>
ec22aa763e2d Bug 978: Consolidate Wi-Fi MAC high functionality
Dean Armstrong <deanarm@gmail.com>
parents: 6662
diff changeset
   188
<p>Wi-Fi MAC high classes have been reorganised in attempt to
ec22aa763e2d Bug 978: Consolidate Wi-Fi MAC high functionality
Dean Armstrong <deanarm@gmail.com>
parents: 6662
diff changeset
   189
consolidate shared functionality into a single class. This new class
ec22aa763e2d Bug 978: Consolidate Wi-Fi MAC high functionality
Dean Armstrong <deanarm@gmail.com>
parents: 6662
diff changeset
   190
is RegularWifiMac, and it derives from the abstract WifiMac, and is
ec22aa763e2d Bug 978: Consolidate Wi-Fi MAC high functionality
Dean Armstrong <deanarm@gmail.com>
parents: 6662
diff changeset
   191
parent of AdhocWifiMac, StaWifiMac, ApWifiMac, and
ec22aa763e2d Bug 978: Consolidate Wi-Fi MAC high functionality
Dean Armstrong <deanarm@gmail.com>
parents: 6662
diff changeset
   192
MeshWifiInterfaceMac. The QoS and non-QoS class variants are no
ec22aa763e2d Bug 978: Consolidate Wi-Fi MAC high functionality
Dean Armstrong <deanarm@gmail.com>
parents: 6662
diff changeset
   193
longer, with a RegularWifiMac attribute "QosSupported" allowing
ec22aa763e2d Bug 978: Consolidate Wi-Fi MAC high functionality
Dean Armstrong <deanarm@gmail.com>
parents: 6662
diff changeset
   194
selection between these two modes of operation. QosWifiMacHelper and
ec22aa763e2d Bug 978: Consolidate Wi-Fi MAC high functionality
Dean Armstrong <deanarm@gmail.com>
parents: 6662
diff changeset
   195
NqosWifiMacHelper continue to work as previously, with a
ec22aa763e2d Bug 978: Consolidate Wi-Fi MAC high functionality
Dean Armstrong <deanarm@gmail.com>
parents: 6662
diff changeset
   196
behind-the-scenes manipulation of the 'afore-mentioned attribute.
6725
62511407485d Update release notes and changelog
Tom Henderson <tomh@tomh.org>
parents: 6717
diff changeset
   197
</p></li>
62511407485d Update release notes and changelog
Tom Henderson <tomh@tomh.org>
parents: 6717
diff changeset
   198
62511407485d Update release notes and changelog
Tom Henderson <tomh@tomh.org>
parents: 6717
diff changeset
   199
<li><b>New TCP architecture</b>
62511407485d Update release notes and changelog
Tom Henderson <tomh@tomh.org>
parents: 6717
diff changeset
   200
<p>TcpSocketImpl was replaced by a new base class TcpSocketBase and
62511407485d Update release notes and changelog
Tom Henderson <tomh@tomh.org>
parents: 6717
diff changeset
   201
several subclasses implementing different congestion control.  From 
62511407485d Update release notes and changelog
Tom Henderson <tomh@tomh.org>
parents: 6717
diff changeset
   202
a user-level API perspective, the main change is that a new attribute
62511407485d Update release notes and changelog
Tom Henderson <tomh@tomh.org>
parents: 6717
diff changeset
   203
"SocketType" is available in TcpL4Protocol, to which a TypeIdValue
62511407485d Update release notes and changelog
Tom Henderson <tomh@tomh.org>
parents: 6717
diff changeset
   204
of a specific Tcp variant can be passed.  In the same class, the attribute 
62511407485d Update release notes and changelog
Tom Henderson <tomh@tomh.org>
parents: 6717
diff changeset
   205
"RttEstimatorFactory" was also renamed "RttEstimatorType" since it now
62511407485d Update release notes and changelog
Tom Henderson <tomh@tomh.org>
parents: 6717
diff changeset
   206
takes a TypeIdValue instead of an ObjectFactoryValue.  In most cases, 
62511407485d Update release notes and changelog
Tom Henderson <tomh@tomh.org>
parents: 6717
diff changeset
   207
however, no change to existing user programs should be needed.
62511407485d Update release notes and changelog
Tom Henderson <tomh@tomh.org>
parents: 6717
diff changeset
   208
</p></li>
6673
ec22aa763e2d Bug 978: Consolidate Wi-Fi MAC high functionality
Dean Armstrong <deanarm@gmail.com>
parents: 6662
diff changeset
   209
</ul>
6598
7459bc9f1a3b Start tracking ns-3.10 changes
Tom Henderson <tomh@tomh.org>
parents: 6557
diff changeset
   210
7459bc9f1a3b Start tracking ns-3.10 changes
Tom Henderson <tomh@tomh.org>
parents: 6557
diff changeset
   211
<h2>Changed behavior:</h2>
6662
04fb02cefe2a bug 984: change EmuNetDevice encapsulation default to DIX
Tom Henderson <tomh@tomh.org>
parents: 6652
diff changeset
   212
<ul>
04fb02cefe2a bug 984: change EmuNetDevice encapsulation default to DIX
Tom Henderson <tomh@tomh.org>
parents: 6652
diff changeset
   213
<li><b>EmuNetDevice uses DIX instead of LLC encapsulation by default</b>
04fb02cefe2a bug 984: change EmuNetDevice encapsulation default to DIX
Tom Henderson <tomh@tomh.org>
parents: 6652
diff changeset
   214
<p>bug 984 in ns-3 tracker:  real devices don't usually understand LLC/SNAP
04fb02cefe2a bug 984: change EmuNetDevice encapsulation default to DIX
Tom Henderson <tomh@tomh.org>
parents: 6652
diff changeset
   215
so the default of DIX makes more sense.
6725
62511407485d Update release notes and changelog
Tom Henderson <tomh@tomh.org>
parents: 6717
diff changeset
   216
</p></li>
62511407485d Update release notes and changelog
Tom Henderson <tomh@tomh.org>
parents: 6717
diff changeset
   217
<li><b>TCP defaults to NewReno congestion control</b>
62511407485d Update release notes and changelog
Tom Henderson <tomh@tomh.org>
parents: 6717
diff changeset
   218
<p>As part of the TCP socket refactoring, a new TCP implementation provides
62511407485d Update release notes and changelog
Tom Henderson <tomh@tomh.org>
parents: 6717
diff changeset
   219
slightly different behavior than the previous TcpSocketImpl that provided
62511407485d Update release notes and changelog
Tom Henderson <tomh@tomh.org>
parents: 6717
diff changeset
   220
only fast retransmit.  The default behavior now is NewReno which provides
62511407485d Update release notes and changelog
Tom Henderson <tomh@tomh.org>
parents: 6717
diff changeset
   221
fast retransmit and fast recovery with window inflation during recovery.
62511407485d Update release notes and changelog
Tom Henderson <tomh@tomh.org>
parents: 6717
diff changeset
   222
</p></li>
6662
04fb02cefe2a bug 984: change EmuNetDevice encapsulation default to DIX
Tom Henderson <tomh@tomh.org>
parents: 6652
diff changeset
   223
</ul>
6598
7459bc9f1a3b Start tracking ns-3.10 changes
Tom Henderson <tomh@tomh.org>
parents: 6557
diff changeset
   224
7459bc9f1a3b Start tracking ns-3.10 changes
Tom Henderson <tomh@tomh.org>
parents: 6557
diff changeset
   225
<hr>
6300
bd1da3a75496 bug 861: Log drop traces for forwarding failures into IPv4 and IPv6 ascii traces
Tom Henderson <tomh@tomh.org>
parents: 6273
diff changeset
   226
<h1>Changes from ns-3.8 to ns-3.9</h1>
bd1da3a75496 bug 861: Log drop traces for forwarding failures into IPv4 and IPv6 ascii traces
Tom Henderson <tomh@tomh.org>
parents: 6273
diff changeset
   227
bd1da3a75496 bug 861: Log drop traces for forwarding failures into IPv4 and IPv6 ascii traces
Tom Henderson <tomh@tomh.org>
parents: 6273
diff changeset
   228
<h2>Changes to build system:</h2>
bd1da3a75496 bug 861: Log drop traces for forwarding failures into IPv4 and IPv6 ascii traces
Tom Henderson <tomh@tomh.org>
parents: 6273
diff changeset
   229
bd1da3a75496 bug 861: Log drop traces for forwarding failures into IPv4 and IPv6 ascii traces
Tom Henderson <tomh@tomh.org>
parents: 6273
diff changeset
   230
<h2>New API:</h2>
6306
283c83f1f7be Update RELEASE_NOTES and CHANGES.html since ns-3.8
Tom Henderson <tomh@tomh.org>
parents: 6300
diff changeset
   231
<ul>
6540
d2768932d6c3 Add SO_BROADCAST to CHANGES.html, fix the html a bit
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6529
diff changeset
   232
<li><b>Wifi set block ack threshold:</b> Two methods for setting block ack
6306
283c83f1f7be Update RELEASE_NOTES and CHANGES.html since ns-3.8
Tom Henderson <tomh@tomh.org>
parents: 6300
diff changeset
   233
parameters for a specific access class: 
283c83f1f7be Update RELEASE_NOTES and CHANGES.html since ns-3.8
Tom Henderson <tomh@tomh.org>
parents: 6300
diff changeset
   234
<pre>
283c83f1f7be Update RELEASE_NOTES and CHANGES.html since ns-3.8
Tom Henderson <tomh@tomh.org>
parents: 6300
diff changeset
   235
void QosWifiMacHelper::SetBlockAckThresholdForAc (enum AccessClass accessClass, uint8_t threshold);
283c83f1f7be Update RELEASE_NOTES and CHANGES.html since ns-3.8
Tom Henderson <tomh@tomh.org>
parents: 6300
diff changeset
   236
void QosWifiMacHelper::SetBlockAckInactivityTimeoutForAc (enum AccessClass accessClass, uint16_t timeout);
283c83f1f7be Update RELEASE_NOTES and CHANGES.html since ns-3.8
Tom Henderson <tomh@tomh.org>
parents: 6300
diff changeset
   237
</pre>
6540
d2768932d6c3 Add SO_BROADCAST to CHANGES.html, fix the html a bit
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6529
diff changeset
   238
</li>
d2768932d6c3 Add SO_BROADCAST to CHANGES.html, fix the html a bit
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6529
diff changeset
   239
<li><b>Receive List Error Model:</b>  Another basic error model that allows
6306
283c83f1f7be Update RELEASE_NOTES and CHANGES.html since ns-3.8
Tom Henderson <tomh@tomh.org>
parents: 6300
diff changeset
   240
the user to specify a list of received packets that should be errored.  The
283c83f1f7be Update RELEASE_NOTES and CHANGES.html since ns-3.8
Tom Henderson <tomh@tomh.org>
parents: 6300
diff changeset
   241
list corresponds not to the packet UID but to the sequence of received
283c83f1f7be Update RELEASE_NOTES and CHANGES.html since ns-3.8
Tom Henderson <tomh@tomh.org>
parents: 6300
diff changeset
   242
packets as observed by the error model.   See src/common/error-model.h
6540
d2768932d6c3 Add SO_BROADCAST to CHANGES.html, fix the html a bit
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6529
diff changeset
   243
</li>
d2768932d6c3 Add SO_BROADCAST to CHANGES.html, fix the html a bit
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6529
diff changeset
   244
<li><b>Respond to interface events:</b> New attribute for Ipv4GlobalRouting,
6317
e4a750adf12c bug 702: make global routing robust to link/device events
Tom Henderson <tomh@tomh.org>
parents: 6308
diff changeset
   245
"RespondToInterfaceEvents", which when enabled, will cause global routes
e4a750adf12c bug 702: make global routing robust to link/device events
Tom Henderson <tomh@tomh.org>
parents: 6308
diff changeset
   246
to be recomputed upon any interface or address notification event from IPv4.
6540
d2768932d6c3 Add SO_BROADCAST to CHANGES.html, fix the html a bit
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6529
diff changeset
   247
</li>
d2768932d6c3 Add SO_BROADCAST to CHANGES.html, fix the html a bit
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6529
diff changeset
   248
<li><b>Generic sequence number:</b> New generic sequence number class to 
6529
dd982eaf6026 release notes and changes updates
Josh Pelkey <jpelkey@gatech.edu>
parents: 6459
diff changeset
   249
easily handle comparison, subtraction, etc. for sequence numbers.  
dd982eaf6026 release notes and changes updates
Josh Pelkey <jpelkey@gatech.edu>
parents: 6459
diff changeset
   250
To use it you need to supply two fundamental types as template parameters: 
6540
d2768932d6c3 Add SO_BROADCAST to CHANGES.html, fix the html a bit
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6529
diff changeset
   251
NUMERIC_TYPE and SIGNED_TYPE.  For instance, <tt>SequenceNumber&lt;uint32_t, int32_t&gt;</tt> 
d2768932d6c3 Add SO_BROADCAST to CHANGES.html, fix the html a bit
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6529
diff changeset
   252
gives you a 32-bit sequence number, while <tt>SequenceNumber&lt;uint16_t, int16_t&gt;</tt> 
6529
dd982eaf6026 release notes and changes updates
Josh Pelkey <jpelkey@gatech.edu>
parents: 6459
diff changeset
   253
is a 16-bit one.  For your convenience, these are typedef'ed as 
6540
d2768932d6c3 Add SO_BROADCAST to CHANGES.html, fix the html a bit
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6529
diff changeset
   254
<tt>SequenceNumber32</tt> and <tt>SequenceNumber16</tt>, respectively.
d2768932d6c3 Add SO_BROADCAST to CHANGES.html, fix the html a bit
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6529
diff changeset
   255
</li>
d2768932d6c3 Add SO_BROADCAST to CHANGES.html, fix the html a bit
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6529
diff changeset
   256
d2768932d6c3 Add SO_BROADCAST to CHANGES.html, fix the html a bit
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6529
diff changeset
   257
<li><b>Broadcast socket option:</b> New Socket
d2768932d6c3 Add SO_BROADCAST to CHANGES.html, fix the html a bit
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6529
diff changeset
   258
methods <tt>SetAllowBroadcast</tt> and <tt>GetAllowBroadcast</tt> add
d2768932d6c3 Add SO_BROADCAST to CHANGES.html, fix the html a bit
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6529
diff changeset
   259
to NS-3 <tt>Socket</tt>'s the equivalent to the POSIX SO_BROADCAST
d2768932d6c3 Add SO_BROADCAST to CHANGES.html, fix the html a bit
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6529
diff changeset
   260
socket option (setsockopt/getsockopt).  Starting from this NS-3
d2768932d6c3 Add SO_BROADCAST to CHANGES.html, fix the html a bit
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6529
diff changeset
   261
version, IPv4 sockets do not allow us to send packets to broadcast
d2768932d6c3 Add SO_BROADCAST to CHANGES.html, fix the html a bit
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6529
diff changeset
   262
destinations by default; SetAllowBroadcast must be called beforehand
d2768932d6c3 Add SO_BROADCAST to CHANGES.html, fix the html a bit
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6529
diff changeset
   263
if we wish to send broadcast packets.
d2768932d6c3 Add SO_BROADCAST to CHANGES.html, fix the html a bit
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6529
diff changeset
   264
</li>
d2768932d6c3 Add SO_BROADCAST to CHANGES.html, fix the html a bit
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6529
diff changeset
   265
6557
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   266
<li><b>Deliver of packet ancillary information to sockets:</b> A method to deliver ancillary information 
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   267
to the socket interface (fixed in bug 671):  <pre>void Socket::SetRecvPktInfo (bool flag);</pre>
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   268
6529
dd982eaf6026 release notes and changes updates
Josh Pelkey <jpelkey@gatech.edu>
parents: 6459
diff changeset
   269
</ul>
6300
bd1da3a75496 bug 861: Log drop traces for forwarding failures into IPv4 and IPv6 ascii traces
Tom Henderson <tomh@tomh.org>
parents: 6273
diff changeset
   270
bd1da3a75496 bug 861: Log drop traces for forwarding failures into IPv4 and IPv6 ascii traces
Tom Henderson <tomh@tomh.org>
parents: 6273
diff changeset
   271
<h2>Changes to existing API:</h2>
bd1da3a75496 bug 861: Log drop traces for forwarding failures into IPv4 and IPv6 ascii traces
Tom Henderson <tomh@tomh.org>
parents: 6273
diff changeset
   272
6360
d8975477ff6a Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents: 6317
diff changeset
   273
<ul>
d8975477ff6a Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents: 6317
diff changeset
   274
<li><b>Changes to construction and naming of Wi-Fi transmit rates:</b>
d8975477ff6a Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents: 6317
diff changeset
   275
A reorganisation of the construction of Wi-Fi transmit rates has been
d8975477ff6a Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents: 6317
diff changeset
   276
undertaken with the aim of simplifying the task of supporting further
d8975477ff6a Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents: 6317
diff changeset
   277
IEEE 802.11 PHYs. This work has been completed under the auspices of
d8975477ff6a Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents: 6317
diff changeset
   278
Bug 871.
d8975477ff6a Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents: 6317
diff changeset
   279
d8975477ff6a Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents: 6317
diff changeset
   280
From the viewpoint of simulation scripts not part of the ns-3
d8975477ff6a Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents: 6317
diff changeset
   281
distribution, the key change is that WifiMode names of the form
d8975477ff6a Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents: 6317
diff changeset
   282
wifi<em>x</em>-<em>n</em>mbs are now invalid. Names now take the
d8975477ff6a Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents: 6317
diff changeset
   283
form <em>Cccc</em>Rate<em>n</em>Mbps[BW<em>b</em>MHz],
d8975477ff6a Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents: 6317
diff changeset
   284
where <em>n</em> is the root bitrate in megabits-per-second as before
d8975477ff6a Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents: 6317
diff changeset
   285
(with only significant figures included, and an underscore replacing
d8975477ff6a Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents: 6317
diff changeset
   286
any decimal point), and <em>Cccc</em> is a representation of the
d8975477ff6a Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents: 6317
diff changeset
   287
Modulation Class as defined in Table 9-2 of IEEE
d8975477ff6a Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents: 6317
diff changeset
   288
Std. 802.11-2007. Currently-supported options for <em>Cccc</em>
d8975477ff6a Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents: 6317
diff changeset
   289
are <em>Ofdm</em> and <em>Dsss</em>. For modulation classes where
d8975477ff6a Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents: 6317
diff changeset
   290
optional reduced-bandwidth transmission is possible, this is captured
d8975477ff6a Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents: 6317
diff changeset
   291
in the final part of the form above, with <em>b</em> specifying the
6540
d2768932d6c3 Add SO_BROADCAST to CHANGES.html, fix the html a bit
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6529
diff changeset
   292
nominal signal bandwidth in megahertz. </li>
6383
4dc3cdb53559 Bug 881: Update RELEASE_NOTES and CHANGES.html
Dean Armstrong <deanarm@gmail.com>
parents: 6360
diff changeset
   293
4dc3cdb53559 Bug 881: Update RELEASE_NOTES and CHANGES.html
Dean Armstrong <deanarm@gmail.com>
parents: 6360
diff changeset
   294
<li><b>Consolidation of classes support Wi-Fi Information Elements:</b>
4dc3cdb53559 Bug 881: Update RELEASE_NOTES and CHANGES.html
Dean Armstrong <deanarm@gmail.com>
parents: 6360
diff changeset
   295
When the <em>mesh</em> module was introduced it added a class
4dc3cdb53559 Bug 881: Update RELEASE_NOTES and CHANGES.html
Dean Armstrong <deanarm@gmail.com>
parents: 6360
diff changeset
   296
hierarchy for modelling of the various Information Elements that were
4dc3cdb53559 Bug 881: Update RELEASE_NOTES and CHANGES.html
Dean Armstrong <deanarm@gmail.com>
parents: 6360
diff changeset
   297
required. In this release, this class hierarchy has extended by moving
4dc3cdb53559 Bug 881: Update RELEASE_NOTES and CHANGES.html
Dean Armstrong <deanarm@gmail.com>
parents: 6360
diff changeset
   298
the base classes (WifiInformationElement and
4dc3cdb53559 Bug 881: Update RELEASE_NOTES and CHANGES.html
Dean Armstrong <deanarm@gmail.com>
parents: 6360
diff changeset
   299
WifiInformationElementVector) into the <em>wifi</em> module. This
4dc3cdb53559 Bug 881: Update RELEASE_NOTES and CHANGES.html
Dean Armstrong <deanarm@gmail.com>
parents: 6360
diff changeset
   300
change is intended to ease the addition of support for modelling of
6540
d2768932d6c3 Add SO_BROADCAST to CHANGES.html, fix the html a bit
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6529
diff changeset
   301
further Wi-Fi functionality. </li>
6557
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   302
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   303
<li><b>Changed for {Ipv4,Ipv6}PacketInfoTag delivery:</b> In order to
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   304
deliver ancillary information to the socket interface (fixed in bug 671),
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   305
<em>Ipv4PacketInfoTag</em> and <em>Ipv6PacketInfoTag</em> are implemented. 
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   306
For the delivery of this information, the following changes are made into 
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   307
existing class.
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   308
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   309
In Ipv4EndPoint class,
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   310
<pre>
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   311
-  void SetRxCallback (Callback&lt;void,Ptr&lt;Packet&gt;, Ipv4Address, Ipv4Address, uint16_t&gt; callback);
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   312
+  void SetRxCallback (Callback&lt;void,Ptr&lt;Packet&gt;, Ipv4Header, uint16_t, Ptr&lt;Ipv4Interface&gt; &gt; callback);
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   313
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   314
-  void ForwardUp (Ptr&lt;Packet&gt; p, Ipv4Address saddr, Ipv4Address daddr, uint16_t sport);
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   315
+  void ForwardUp (Ptr&lt;Packet&gt; p, const Ipv4Header& header, uint16_t sport, 
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   316
+                  Ptr&lt;Ipv4Interface&gt; incomingInterface);
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   317
</pre>
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   318
In Ipv4L4Protocol class,
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   319
<pre>
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   320
   virtual enum RxStatus Receive(Ptr&lt;Packet&gt; p, 
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   321
-                                Ipv4Address const &source,
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   322
-                                Ipv4Address const &destination,
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   323
+                                Ipv4Header const &header,
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   324
                                 Ptr&lt;Ipv4Interface&gt; incomingInterface) = 0;
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   325
</pre>
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   326
<pre>
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   327
-Ipv4RawSocketImpl::ForwardUp (Ptr&lt;const Packet&gt; p, Ipv4Header ipHeader, Ptr&lt;NetDevice&gt; device)
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   328
+Ipv4RawSocketImpl::ForwardUp (Ptr&lt;const Packet&gt; p, Ipv4Header ipHeader, Ptr&lt;Ipv4Interface&gt; incomingInterface)
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   329
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   330
-NscTcpSocketImpl::ForwardUp (Ptr&lt;Packet&gt; packet, Ipv4Address saddr, Ipv4Address daddr, uint16_t port)
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   331
+NscTcpSocketImpl::ForwardUp (Ptr&lt;Packet&gt; packet, Ipv4Header header, uint16_t port,
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   332
+                             Ptr&lt;Ipv4Interface&gt; incomingInterface)
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   333
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   334
-TcpSocketImpl::ForwardUp (Ptr&lt;Packet&gt; packet, Ipv4Address saddr, Ipv4Address daddr, uint16_t port)
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   335
+TcpSocketImpl::ForwardUp (Ptr&lt;Packet&gt; packet, Ipv4Header header, uint16_t port,
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   336
+                          Ptr&lt;Ipv4Interface&gt; incomingInterface)
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   337
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   338
-UdpSocketImpl::ForwardUp (Ptr&lt;Packet&gt; packet, Ipv4Address saddr, Ipv4Address daddr, uint16_t port)
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   339
+UdpSocketImpl::ForwardUp (Ptr&lt;Packet&gt; packet, Ipv4Header header, uint16_t port,
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   340
+                          Ptr&lt;Ipv4Interface&gt; incomingInterface)
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   341
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   342
</pre>
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   343
  
970e1627b308 update CHANGES.html for Bug 671
Hajime Tazaki <tazaki@sfc.wide.ad.jp>
parents: 6540
diff changeset
   344
</li>
6678
be3da7f1f82a Bring CHANGES.html and RELEASE_NOTES up to date
Tom Henderson <tomh@tomh.org>
parents: 6673
diff changeset
   345
<li>The method OutputStreamWrapper::SetStream (std::ostream *ostream) was removed.</li>
be3da7f1f82a Bring CHANGES.html and RELEASE_NOTES up to date
Tom Henderson <tomh@tomh.org>
parents: 6673
diff changeset
   346
)
6360
d8975477ff6a Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents: 6317
diff changeset
   347
</ul>
d8975477ff6a Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents: 6317
diff changeset
   348
6300
bd1da3a75496 bug 861: Log drop traces for forwarding failures into IPv4 and IPv6 ascii traces
Tom Henderson <tomh@tomh.org>
parents: 6273
diff changeset
   349
<h2>Changed behavior:</h2>
bd1da3a75496 bug 861: Log drop traces for forwarding failures into IPv4 and IPv6 ascii traces
Tom Henderson <tomh@tomh.org>
parents: 6273
diff changeset
   350
<ul>
6308
2ca5ef07be74 update CHANGES.html for Queue::Enqueue trace behavior change
Craig Dowell <craigdo@ee.washington.edu>
parents: 6306
diff changeset
   351
<li><b>Queue trace behavior during Enqueue changed:</b> The behavior of the
2ca5ef07be74 update CHANGES.html for Queue::Enqueue trace behavior change
Craig Dowell <craigdo@ee.washington.edu>
parents: 6306
diff changeset
   352
Enqueue trace source has been changed to be more intuitive and to agree with
2ca5ef07be74 update CHANGES.html for Queue::Enqueue trace behavior change
Craig Dowell <craigdo@ee.washington.edu>
parents: 6306
diff changeset
   353
documentation.  Enqueue and Drop events in src/node/queue.cc are now mutually
2ca5ef07be74 update CHANGES.html for Queue::Enqueue trace behavior change
Craig Dowell <craigdo@ee.washington.edu>
parents: 6306
diff changeset
   354
exclusive.  In the past, the meaning of an Enqueue event was that the Queue
2ca5ef07be74 update CHANGES.html for Queue::Enqueue trace behavior change
Craig Dowell <craigdo@ee.washington.edu>
parents: 6306
diff changeset
   355
Enqueue operation was being attempted; and this could be followed by a Drop
2ca5ef07be74 update CHANGES.html for Queue::Enqueue trace behavior change
Craig Dowell <craigdo@ee.washington.edu>
parents: 6306
diff changeset
   356
event if the Queue was full.  The new behavior is such that a packet is either
2ca5ef07be74 update CHANGES.html for Queue::Enqueue trace behavior change
Craig Dowell <craigdo@ee.washington.edu>
parents: 6306
diff changeset
   357
Enqueue'd successfully or Drop'ped.
2ca5ef07be74 update CHANGES.html for Queue::Enqueue trace behavior change
Craig Dowell <craigdo@ee.washington.edu>
parents: 6306
diff changeset
   358
6300
bd1da3a75496 bug 861: Log drop traces for forwarding failures into IPv4 and IPv6 ascii traces
Tom Henderson <tomh@tomh.org>
parents: 6273
diff changeset
   359
<li><b>Drop trace logged for Ipv4/6 forwarding failure:</b> Fixed bug 861; this 
bd1da3a75496 bug 861: Log drop traces for forwarding failures into IPv4 and IPv6 ascii traces
Tom Henderson <tomh@tomh.org>
parents: 6273
diff changeset
   360
will add ascii traces (drops) in Ipv4 and Ipv6 traces for forwarding failures
6459
d5cfe99001f0 Change default OFDM error rate model to NistErrorRateModel (issue 944)
Tom Henderson <tomh@tomh.org>
parents: 6383
diff changeset
   361
d5cfe99001f0 Change default OFDM error rate model to NistErrorRateModel (issue 944)
Tom Henderson <tomh@tomh.org>
parents: 6383
diff changeset
   362
<li><b>Changed default WiFi error rate model for OFDM modulation types:</b> 
d5cfe99001f0 Change default OFDM error rate model to NistErrorRateModel (issue 944)
Tom Henderson <tomh@tomh.org>
parents: 6383
diff changeset
   363
Adopted more conservative ErrorRateModel for OFDM modulation types (a/g).
d5cfe99001f0 Change default OFDM error rate model to NistErrorRateModel (issue 944)
Tom Henderson <tomh@tomh.org>
parents: 6383
diff changeset
   364
This will require 4 to 5 more dB of received power to get similar results
d5cfe99001f0 Change default OFDM error rate model to NistErrorRateModel (issue 944)
Tom Henderson <tomh@tomh.org>
parents: 6383
diff changeset
   365
as before, so users may observe a reduced WiFi range when using the defaults.
6540
d2768932d6c3 Add SO_BROADCAST to CHANGES.html, fix the html a bit
Gustavo J. A. M. Carneiro <gjc@inescporto.pt>
parents: 6529
diff changeset
   366
See tracker issue 944 for more details.
6300
bd1da3a75496 bug 861: Log drop traces for forwarding failures into IPv4 and IPv6 ascii traces
Tom Henderson <tomh@tomh.org>
parents: 6273
diff changeset
   367
</ul>
bd1da3a75496 bug 861: Log drop traces for forwarding failures into IPv4 and IPv6 ascii traces
Tom Henderson <tomh@tomh.org>
parents: 6273
diff changeset
   368
bd1da3a75496 bug 861: Log drop traces for forwarding failures into IPv4 and IPv6 ascii traces
Tom Henderson <tomh@tomh.org>
parents: 6273
diff changeset
   369
<hr>
5933
2fc170de5400 Update release notes and changes for ns-3.8
Josh Pelkey <jpelkey@gatech.edu>
parents: 5868
diff changeset
   370
<h1>Changes from ns-3.7 to ns-3.8</h1>
2fc170de5400 Update release notes and changes for ns-3.8
Josh Pelkey <jpelkey@gatech.edu>
parents: 5868
diff changeset
   371
2fc170de5400 Update release notes and changes for ns-3.8
Josh Pelkey <jpelkey@gatech.edu>
parents: 5868
diff changeset
   372
<h2>Changes to build system:</h2>
2fc170de5400 Update release notes and changes for ns-3.8
Josh Pelkey <jpelkey@gatech.edu>
parents: 5868
diff changeset
   373
2fc170de5400 Update release notes and changes for ns-3.8
Josh Pelkey <jpelkey@gatech.edu>
parents: 5868
diff changeset
   374
<h2>New API:</h2>
6113
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   375
6111
0b22ae082153 Merge WiMAX module
Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
parents: 6054
diff changeset
   376
<ul>
6117
bf5e05fe051b Changes and release notes updated
Pavel Boyko <boyko@iitp.ru>
parents: 6113
diff changeset
   377
<li><b>Matrix propagation loss model:</b> This radio propagation model uses a two-dimensional matrix
6165
55762ca33a99 update CHANGES and RELEASE_NOTES
Josh Pelkey <jpelkey@gatech.edu>
parents: 6117
diff changeset
   378
of path loss indexed by source and destination nodes.
6117
bf5e05fe051b Changes and release notes updated
Pavel Boyko <boyko@iitp.ru>
parents: 6113
diff changeset
   379
6111
0b22ae082153 Merge WiMAX module
Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
parents: 6054
diff changeset
   380
<li><b>WiMAX net device</b>: The developed WiMAX model attempts to provide an accurate MAC and
0b22ae082153 Merge WiMAX module
Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
parents: 6054
diff changeset
   381
PHY level implementation of the 802.16 specification with the Point-to-Multipoint (PMP) mode and the WirelessMAN-OFDM 
0b22ae082153 Merge WiMAX module
Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
parents: 6054
diff changeset
   382
PHY layer. By adding WimaxNetDevice objects to ns-3 nodes, one can create models of
0b22ae082153 Merge WiMAX module
Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
parents: 6054
diff changeset
   383
802.16-based networks. The source code for the WiMAX models lives in the directory src/devices/wimax.
0b22ae082153 Merge WiMAX module
Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
parents: 6054
diff changeset
   384
The model is mainly composed of three layers:
0b22ae082153 Merge WiMAX module
Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
parents: 6054
diff changeset
   385
<ul>
0b22ae082153 Merge WiMAX module
Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
parents: 6054
diff changeset
   386
<li>The convergence sublayer (CS)
0b22ae082153 Merge WiMAX module
Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
parents: 6054
diff changeset
   387
<li>The MAC Common Part Sublayer (MAC-CPS)
0b22ae082153 Merge WiMAX module
Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
parents: 6054
diff changeset
   388
<li>The Physical layer
0b22ae082153 Merge WiMAX module
Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
parents: 6054
diff changeset
   389
</ul>
0b22ae082153 Merge WiMAX module
Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
parents: 6054
diff changeset
   390
The main way that users who write simulation scripts will typically
0b22ae082153 Merge WiMAX module
Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
parents: 6054
diff changeset
   391
interact with the Wimax models is through the helper API and through
0b22ae082153 Merge WiMAX module
Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
parents: 6054
diff changeset
   392
the publicly visible attributes of the model.
0b22ae082153 Merge WiMAX module
Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
parents: 6054
diff changeset
   393
The helper API is defined in src/helper/wimax-helper.{cc,h}.
0b22ae082153 Merge WiMAX module
Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
parents: 6054
diff changeset
   394
Three examples containing some code that shows how to setup a 802.16 network are located under examples/wimax/ 
6113
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   395
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   396
<li><b>MPI Interface for distributed simulation:</b> Enables access
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   397
to necessary MPI information such as MPI rank and size.
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   398
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   399
<li><b>Point-to-point remote channel:</b> Enables point-to-point 
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   400
connection between net-devices on different simulators, for use 
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   401
with distributed simulation.
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   402
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   403
<li><b>GetSystemId in simulator:</b> For use with distributed 
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   404
simulation, GetSystemId returns zero by non-distributed 
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   405
simulators.  For the distributed simulator, it returns the 
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   406
MPI rank.
6165
55762ca33a99 update CHANGES and RELEASE_NOTES
Josh Pelkey <jpelkey@gatech.edu>
parents: 6117
diff changeset
   407
55762ca33a99 update CHANGES and RELEASE_NOTES
Josh Pelkey <jpelkey@gatech.edu>
parents: 6117
diff changeset
   408
<li><b>Enhancements to src/core/random-variable.cc/h:</b> New Zeta random variable generator. The Zeta random 
55762ca33a99 update CHANGES and RELEASE_NOTES
Josh Pelkey <jpelkey@gatech.edu>
parents: 6117
diff changeset
   409
distribution is tightly related to the Zipf distribution (already in ns-3.7). See the documentation, 
55762ca33a99 update CHANGES and RELEASE_NOTES
Josh Pelkey <jpelkey@gatech.edu>
parents: 6117
diff changeset
   410
especially because sometimes the Zeta distribution is called Zipf and viceversa. Here we conform to the 
55762ca33a99 update CHANGES and RELEASE_NOTES
Josh Pelkey <jpelkey@gatech.edu>
parents: 6117
diff changeset
   411
Wikipedia naming convention, i.e., Zipf is bounded while Zeta isn't. 
55762ca33a99 update CHANGES and RELEASE_NOTES
Josh Pelkey <jpelkey@gatech.edu>
parents: 6117
diff changeset
   412
55762ca33a99 update CHANGES and RELEASE_NOTES
Josh Pelkey <jpelkey@gatech.edu>
parents: 6117
diff changeset
   413
<li><b>Two-ray ground propagation loss model:</b> Calculates the crossover distance under which Friis is used. The antenna 
55762ca33a99 update CHANGES and RELEASE_NOTES
Josh Pelkey <jpelkey@gatech.edu>
parents: 6117
diff changeset
   414
height is set to the nodes z coordinate, but can be added to using the model parameter SetHeightAboveZ, which 
55762ca33a99 update CHANGES and RELEASE_NOTES
Josh Pelkey <jpelkey@gatech.edu>
parents: 6117
diff changeset
   415
will affect ALL stations
55762ca33a99 update CHANGES and RELEASE_NOTES
Josh Pelkey <jpelkey@gatech.edu>
parents: 6117
diff changeset
   416
55762ca33a99 update CHANGES and RELEASE_NOTES
Josh Pelkey <jpelkey@gatech.edu>
parents: 6117
diff changeset
   417
<li><b>Pareto random variable</b> has two new constructors to specify scale and shape:
55762ca33a99 update CHANGES and RELEASE_NOTES
Josh Pelkey <jpelkey@gatech.edu>
parents: 6117
diff changeset
   418
<pre>
55762ca33a99 update CHANGES and RELEASE_NOTES
Josh Pelkey <jpelkey@gatech.edu>
parents: 6117
diff changeset
   419
ParetoVariable (std::pair<double, double> params);
55762ca33a99 update CHANGES and RELEASE_NOTES
Josh Pelkey <jpelkey@gatech.edu>
parents: 6117
diff changeset
   420
ParetoVariable (std::pair<double, double> params, double b);
55762ca33a99 update CHANGES and RELEASE_NOTES
Josh Pelkey <jpelkey@gatech.edu>
parents: 6117
diff changeset
   421
</pre>
6111
0b22ae082153 Merge WiMAX module
Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
parents: 6054
diff changeset
   422
</ul>
6113
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   423
5933
2fc170de5400 Update release notes and changes for ns-3.8
Josh Pelkey <jpelkey@gatech.edu>
parents: 5868
diff changeset
   424
<h2>Changes to existing API:</h2>
2fc170de5400 Update release notes and changes for ns-3.8
Josh Pelkey <jpelkey@gatech.edu>
parents: 5868
diff changeset
   425
<ul>
6018
92c388406dbe update CHANGES ns-3.7 to ns-3.8
Craig Dowell <craigdo@ee.washington.edu>
parents: 5868
diff changeset
   426
<li><b>Tracing Helpers</b>: The organization of helpers for both pcap and ascii
6032
a31949e0f1ed update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 6018
diff changeset
   427
tracing, in devices and protocols, has been reworked.  Instead of each device 
a31949e0f1ed update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 6018
diff changeset
   428
and protocol helper re-implementing trace enable methods, classes have been 
a31949e0f1ed update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 6018
diff changeset
   429
developed to implement user-level tracing in a consistent way; and device and 
a31949e0f1ed update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 6018
diff changeset
   430
protocol helpers use those classes to provide tracing functionality.<br>
6018
92c388406dbe update CHANGES ns-3.7 to ns-3.8
Craig Dowell <craigdo@ee.washington.edu>
parents: 5868
diff changeset
   431
In addition to consistent operation across all helpers, the object name service
92c388406dbe update CHANGES ns-3.7 to ns-3.8
Craig Dowell <craigdo@ee.washington.edu>
parents: 5868
diff changeset
   432
has been integrated into the trace file naming scheme.<br>
6032
a31949e0f1ed update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 6018
diff changeset
   433
The internet stack helper has been extensively massaged to make it easier to 
a31949e0f1ed update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 6018
diff changeset
   434
manage traces originating from protocols.  It used to be the case that there 
a31949e0f1ed update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 6018
diff changeset
   435
was essentially no opportunity to filter tracing on interfaces, and resulting
a31949e0f1ed update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 6018
diff changeset
   436
trace file names collided with those created by devices.  File names are now
a31949e0f1ed update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 6018
diff changeset
   437
disambiguated and one can enable traces on a protocol/interface basis analogously
a31949e0f1ed update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 6018
diff changeset
   438
to the node/device granularity of device-based helpers.<br>
6018
92c388406dbe update CHANGES ns-3.7 to ns-3.8
Craig Dowell <craigdo@ee.washington.edu>
parents: 5868
diff changeset
   439
The primary user-visible results of this change are that trace-related functions
92c388406dbe update CHANGES ns-3.7 to ns-3.8
Craig Dowell <craigdo@ee.washington.edu>
parents: 5868
diff changeset
   440
have been changed from static functions to method calls; and a new object has
92c388406dbe update CHANGES ns-3.7 to ns-3.8
Craig Dowell <craigdo@ee.washington.edu>
parents: 5868
diff changeset
   441
been developed to hold streams for ascii traces.<br>
6032
a31949e0f1ed update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 6018
diff changeset
   442
New functionality is present for ascii traces.  It is now possible to create
a31949e0f1ed update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 6018
diff changeset
   443
multiple ascii trace files automatically just as was possible for pcap trace 
a31949e0f1ed update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 6018
diff changeset
   444
files.<br>
6018
92c388406dbe update CHANGES ns-3.7 to ns-3.8
Craig Dowell <craigdo@ee.washington.edu>
parents: 5868
diff changeset
   445
The implementation of the helper code has been designed also to provide 
92c388406dbe update CHANGES ns-3.7 to ns-3.8
Craig Dowell <craigdo@ee.washington.edu>
parents: 5868
diff changeset
   446
functionality to make it easier for sophisticated users to hook traces of 
92c388406dbe update CHANGES ns-3.7 to ns-3.8
Craig Dowell <craigdo@ee.washington.edu>
parents: 5868
diff changeset
   447
various kinds and write results to (file) streams.
92c388406dbe update CHANGES ns-3.7 to ns-3.8
Craig Dowell <craigdo@ee.washington.edu>
parents: 5868
diff changeset
   448
Before:
92c388406dbe update CHANGES ns-3.7 to ns-3.8
Craig Dowell <craigdo@ee.washington.edu>
parents: 5868
diff changeset
   449
<pre>
6032
a31949e0f1ed update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 6018
diff changeset
   450
  CsmaHelper::EnablePcapAll ();
5933
2fc170de5400 Update release notes and changes for ns-3.8
Josh Pelkey <jpelkey@gatech.edu>
parents: 5868
diff changeset
   451
6032
a31949e0f1ed update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 6018
diff changeset
   452
  std::ofstream ascii;
a31949e0f1ed update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 6018
diff changeset
   453
  ascii.open ("csma-one-subnet.tr", std::ios_base::binary | std::ios_base::out);
a31949e0f1ed update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 6018
diff changeset
   454
  CsmaHelper::EnableAsciiAll (ascii);
a31949e0f1ed update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 6018
diff changeset
   455
a31949e0f1ed update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 6018
diff changeset
   456
  InternetStackHelper::EnableAsciiAll (ascii);
6018
92c388406dbe update CHANGES ns-3.7 to ns-3.8
Craig Dowell <craigdo@ee.washington.edu>
parents: 5868
diff changeset
   457
</pre>
92c388406dbe update CHANGES ns-3.7 to ns-3.8
Craig Dowell <craigdo@ee.washington.edu>
parents: 5868
diff changeset
   458
After:
92c388406dbe update CHANGES ns-3.7 to ns-3.8
Craig Dowell <craigdo@ee.washington.edu>
parents: 5868
diff changeset
   459
<pre>
6032
a31949e0f1ed update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 6018
diff changeset
   460
  CsmaHelper csmaHelper;
a31949e0f1ed update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 6018
diff changeset
   461
  InternetStackHelper stack;
a31949e0f1ed update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 6018
diff changeset
   462
  csmaHelper.EnablePcapAll ();
6018
92c388406dbe update CHANGES ns-3.7 to ns-3.8
Craig Dowell <craigdo@ee.washington.edu>
parents: 5868
diff changeset
   463
6032
a31949e0f1ed update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 6018
diff changeset
   464
  AsciiTraceHelper ascii;
a31949e0f1ed update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 6018
diff changeset
   465
  csma.EnableAsciiAll (ascii.CreateFileStream ("csma-one-subnet.tr"));
a31949e0f1ed update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 6018
diff changeset
   466
a31949e0f1ed update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 6018
diff changeset
   467
  stack.EnableAsciiIpv4All (stream);
6018
92c388406dbe update CHANGES ns-3.7 to ns-3.8
Craig Dowell <craigdo@ee.washington.edu>
parents: 5868
diff changeset
   468
</pre>
92c388406dbe update CHANGES ns-3.7 to ns-3.8
Craig Dowell <craigdo@ee.washington.edu>
parents: 5868
diff changeset
   469
5933
2fc170de5400 Update release notes and changes for ns-3.8
Josh Pelkey <jpelkey@gatech.edu>
parents: 5868
diff changeset
   470
6113
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   471
<li><b>Serialization and Deserialization</b> in buffer, nix-vector, 
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   472
packet-metadata, and packet has been modified to use raw character 
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   473
buffers, rather than the Buffer class
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   474
<pre>
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   475
+ uint32_t Buffer::GetSerializedSize (void) const;
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   476
+ uint32_t Buffer::Serialize (uint8_t* buffer, uint32_t maxSize) const;
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   477
+ uint32_t Buffer::Deserialize (uint8_t* buffer, uint32_t size); 
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   478
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   479
- void NixVector::Serialize (Buffer::Iterator i, uint32_t size) const;
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   480
+ uint32_t NixVector::Serialize (uint32_t* buffer, uint32_t maxSize) const;
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   481
- uint32_t NixVector::Deserialize (Buffer::Iterator i);
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   482
+ uint32_t NixVector::Deserialize (uint32_t* buffer, uint32_t size);
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   483
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   484
- void PacketMetadata::Serialize (Buffer::Iterator i, uint32_t size) const;
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   485
+ uint32_t PacketMetadata::Serialize (uint8_t* buffer, uint32_t maxSize) const;
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   486
- uint32_t PacketMetadata::Deserialize (Buffer::Iterator i);
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   487
+ uint32_t PacketMetadata::Deserialize (uint8_t* buffer, uint32_t size);
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   488
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   489
+ uint32_t Packet::GetSerializedSize (void) const;
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   490
- Buffer Packet::Serialize (void) const;
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   491
+ uint32_t Packet::Serialize (uint8_t* buffer, uint32_t maxSize) const;
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   492
- void Packet::Deserialize (Buffer buffer);
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   493
+ Packet::Packet (uint8_t const*buffer, uint32_t size, bool magic);
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   494
</pre>
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   495
<li><b>PacketMetadata uid</b> has been changed to a 64-bit value. The 
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   496
lower 32 bits give the uid, while the upper 32-bits give the MPI rank 
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   497
for distributed simulations. For non-distributed simulations, the 
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   498
upper 32 bits are simply zero.
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   499
<pre>
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   500
- inline PacketMetadata (uint32_t uid, uint32_t size);
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   501
+ inline PacketMetadata (uint64_t uid, uint32_t size);
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   502
- uint32_t GetUid (void) const;
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   503
+ uint64_t GetUid (void) const;
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   504
- PacketMetadata::PacketMetadata (uint32_t uid, uint32_t size);
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   505
+ PacketMetadata::PacketMetadata (uint64_t uid, uint32_t size); 
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   506
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   507
- uint32_t Packet::GetUid (void) const;
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   508
+ uint64_t Packet::GetUid (void) const;
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   509
</pre>
6165
55762ca33a99 update CHANGES and RELEASE_NOTES
Josh Pelkey <jpelkey@gatech.edu>
parents: 6117
diff changeset
   510
55762ca33a99 update CHANGES and RELEASE_NOTES
Josh Pelkey <jpelkey@gatech.edu>
parents: 6117
diff changeset
   511
<li><b>Moved propagation models</b> from src/devices/wifi to src/common
6184
3bb39c179947 update CHANGES.html for Mtu move
Tom Henderson <tomh@tomh.org>
parents: 6165
diff changeset
   512
3bb39c179947 update CHANGES.html for Mtu move
Tom Henderson <tomh@tomh.org>
parents: 6165
diff changeset
   513
<li><b>Moved Mtu attribute from base class NetDevice</b> This attribute is
3bb39c179947 update CHANGES.html for Mtu move
Tom Henderson <tomh@tomh.org>
parents: 6165
diff changeset
   514
now found in all NetDevice subclasses.  
6113
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   515
</ul>
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   516
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   517
<h2>Changed behavior:</h2>
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   518
<ul>
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   519
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   520
</ul>
0ce37bf4f1c1 Merge distributed simulation code
Josh Pelkey <jpelkey@gatech.edu>
parents: 6111
diff changeset
   521
5933
2fc170de5400 Update release notes and changes for ns-3.8
Josh Pelkey <jpelkey@gatech.edu>
parents: 5868
diff changeset
   522
<hr>
5497
d8b1b591839b Document changes to YansWifiPhy defaults
Tom Henderson <tomh@tomh.org>
parents: 5407
diff changeset
   523
<h1>Changes from ns-3.6 to ns-3.7</h1>
d8b1b591839b Document changes to YansWifiPhy defaults
Tom Henderson <tomh@tomh.org>
parents: 5407
diff changeset
   524
5526
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   525
5497
d8b1b591839b Document changes to YansWifiPhy defaults
Tom Henderson <tomh@tomh.org>
parents: 5407
diff changeset
   526
<h2>Changes to build system:</h2>
d8b1b591839b Document changes to YansWifiPhy defaults
Tom Henderson <tomh@tomh.org>
parents: 5407
diff changeset
   527
d8b1b591839b Document changes to YansWifiPhy defaults
Tom Henderson <tomh@tomh.org>
parents: 5407
diff changeset
   528
<h2>New API:</h2>
d8b1b591839b Document changes to YansWifiPhy defaults
Tom Henderson <tomh@tomh.org>
parents: 5407
diff changeset
   529
d8b1b591839b Document changes to YansWifiPhy defaults
Tom Henderson <tomh@tomh.org>
parents: 5407
diff changeset
   530
<ul>
5858
afb51c7f34c2 bug 667: Add equal-cost multipath routing (ECMP) to IPv4 global routing
Wilson Thong <wilsonwk@ee.cityu.edu.hk>
parents: 5856
diff changeset
   531
<li><b>Equal-cost multipath for global routing:</b> Enables quagga's
afb51c7f34c2 bug 667: Add equal-cost multipath routing (ECMP) to IPv4 global routing
Wilson Thong <wilsonwk@ee.cityu.edu.hk>
parents: 5856
diff changeset
   532
equal cost multipath for Ipv4GlobalRouting, and adds an attribute that
afb51c7f34c2 bug 667: Add equal-cost multipath routing (ECMP) to IPv4 global routing
Wilson Thong <wilsonwk@ee.cityu.edu.hk>
parents: 5856
diff changeset
   533
can enable it with random packet distribution policy across equal cost routes.
5856
7fd20c798a7d bug 742: Implementation of SO_BINDTODEVICE
Antti Mäkelä <zarhan@cc.hut.fi>
parents: 5817
diff changeset
   534
<li><b>Binding sockets to devices:</b> A method analogous to a SO_BINDTODEVICE
5868
ed1e2ad4c0b9 Fix angle braces in CHANGES.html.
Andrey Mazo <mazo@iitp.ru>
parents: 5858
diff changeset
   535
socket option has been introduced to class Socket:  <pre>virtual void Socket::BindToNetDevice (Ptr&lt;NetDevice&gt; netdevice);</pre>
5526
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   536
<li><b>Simulator event contexts</b>: The Simulator API now keeps track of a per-event
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   537
'context' (a 32bit integer which, by convention identifies a node by its id). Simulator::GetContext
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   538
returns the context of the currently-executing event while Simulator::ScheduleWithContext creates an
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   539
event with a context different from the execution context of the caller. This API is used
5814
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   540
by the ns-3 logging system to report the execution context of each log line.
5526
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   541
<li><b>Object::DoStart</b>: Users who need to complete their object setup at the start of a simulation
5814
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   542
can override this virtual method, perform their adhoc setup, and then, must chain up to their parent.
5990
20ee319e7e71 a couple of typos.
Andrey Mazo <mazo@iitp.ru>
parents: 5933
diff changeset
   543
<li><b>Ad hoc On-Demand Distance Vector (AODV)</b> routing model, 
5742
19c79550b371 CHANGES.html, AUTHORS and RELEASE_NOTES updated after AODV merge
Pavel Boyko <boyko@iitp.ru>
parents: 5532
diff changeset
   544
<a href=http://www.ietf.org/rfc/rfc3561.txt>RFC 3561</a> </li>
5814
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   545
<li><b>Ipv4::IsDestinationAddress (Ipv4Address address, uint32_t iif)</b> Method added to support checks of whether a destination address should be accepted 
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   546
as one of the host's own addresses.  RFC 1122 Strong/Weak end system behavior can be changed with a new attribute (WeakEsModel) in class Ipv4.  </li>
5742
19c79550b371 CHANGES.html, AUTHORS and RELEASE_NOTES updated after AODV merge
Pavel Boyko <boyko@iitp.ru>
parents: 5532
diff changeset
   547
5814
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   548
<li><b>Net-anim interface</b>: Provides an interface to net-anim, a network animator for point-to-point 
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   549
links in ns-3.  The interface generates a custom trace file for use with the NetAnim program.</li>
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   550
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   551
<li><b>Topology Helpers</b>: New topology helpers have been introduced including PointToPointStarHelper, 
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   552
PointToPointDumbbellHelper, PointToPointGridHelper, and CsmaStarHelper.</li>
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   553
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   554
<li><b>IPv6 extensions support</b>: Provides API to add IPv6 extensions and options. Two examples (fragmentation
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   555
and loose routing) are available.</li>
5497
d8b1b591839b Document changes to YansWifiPhy defaults
Tom Henderson <tomh@tomh.org>
parents: 5407
diff changeset
   556
</ul>
d8b1b591839b Document changes to YansWifiPhy defaults
Tom Henderson <tomh@tomh.org>
parents: 5407
diff changeset
   557
5507
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   558
<h2>Changes to existing API:</h2>
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   559
<ul>
5856
7fd20c798a7d bug 742: Implementation of SO_BINDTODEVICE
Antti Mäkelä <zarhan@cc.hut.fi>
parents: 5817
diff changeset
   560
<li><b>Ipv4RoutingProtocol::RouteOutput</b> no longer takes an outgoing 
7fd20c798a7d bug 742: Implementation of SO_BINDTODEVICE
Antti Mäkelä <zarhan@cc.hut.fi>
parents: 5817
diff changeset
   561
interface index but instead takes an outgoing device pointer; this affects all
7fd20c798a7d bug 742: Implementation of SO_BINDTODEVICE
Antti Mäkelä <zarhan@cc.hut.fi>
parents: 5817
diff changeset
   562
subclasses of Ipv4RoutingProtocol.
7fd20c798a7d bug 742: Implementation of SO_BINDTODEVICE
Antti Mäkelä <zarhan@cc.hut.fi>
parents: 5817
diff changeset
   563
<pre>
7fd20c798a7d bug 742: Implementation of SO_BINDTODEVICE
Antti Mäkelä <zarhan@cc.hut.fi>
parents: 5817
diff changeset
   564
-  virtual Ptr&lt;Ipv4Route&gt; RouteOutput (Ptr&lt;Packet&gt; p, const Ipv4Header &header, uint32_t oif, Socket::SocketErrno &sockerr) = 0;
7fd20c798a7d bug 742: Implementation of SO_BINDTODEVICE
Antti Mäkelä <zarhan@cc.hut.fi>
parents: 5817
diff changeset
   565
+  virtual Ptr&lt;Ipv4Route&gt; RouteOutput (Ptr&lt;Packet&gt; p, const Ipv4Header &header, Ptr&lt;NetDevice&gt; oif, Socket::SocketErrno &sockerr) = 0;
7fd20c798a7d bug 742: Implementation of SO_BINDTODEVICE
Antti Mäkelä <zarhan@cc.hut.fi>
parents: 5817
diff changeset
   566
</pre>
7fd20c798a7d bug 742: Implementation of SO_BINDTODEVICE
Antti Mäkelä <zarhan@cc.hut.fi>
parents: 5817
diff changeset
   567
<li><b>Ipv6RoutingProtocol::RouteOutput</b> no longer takes an outgoing 
7fd20c798a7d bug 742: Implementation of SO_BINDTODEVICE
Antti Mäkelä <zarhan@cc.hut.fi>
parents: 5817
diff changeset
   568
interface index but instead takes an outgoing device pointer; this affects all
7fd20c798a7d bug 742: Implementation of SO_BINDTODEVICE
Antti Mäkelä <zarhan@cc.hut.fi>
parents: 5817
diff changeset
   569
subclasses of Ipv6RoutingProtocol.
7fd20c798a7d bug 742: Implementation of SO_BINDTODEVICE
Antti Mäkelä <zarhan@cc.hut.fi>
parents: 5817
diff changeset
   570
<pre>
7fd20c798a7d bug 742: Implementation of SO_BINDTODEVICE
Antti Mäkelä <zarhan@cc.hut.fi>
parents: 5817
diff changeset
   571
-  virtual Ptr&lt;Ipv6Route&gt; RouteOutput (Ptr&lt;Packet&gt; p, const Ipv6Header &header, uint32_t oif, Socket::SocketErrno &sockerr) = 0;
7fd20c798a7d bug 742: Implementation of SO_BINDTODEVICE
Antti Mäkelä <zarhan@cc.hut.fi>
parents: 5817
diff changeset
   572
+  virtual Ptr&lt;Ipv6Route&gt; RouteOutput (Ptr&lt;Packet&gt; p, const Ipv6Header &header, Ptr&lt;NetDevice&gt; oif, Socket::SocketErrno &sockerr) = 0;
7fd20c798a7d bug 742: Implementation of SO_BINDTODEVICE
Antti Mäkelä <zarhan@cc.hut.fi>
parents: 5817
diff changeset
   573
</pre>
5526
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   574
<li><b>Application::Start</b> and <b>Application::Stop</b> have been renamed to
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   575
<b>Application::SetStartTime</b> and <b>Application::SetStopTime</b>.
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   576
<li><b>Channel::Send</b>: this method does not really exist but each subclass of the Channel
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   577
base class must implement a similar method which sends a packet from a node to another node.
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   578
Users must now use Simulator::ScheduleWithContext instead of Simulator::Schedule to schedule
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   579
the reception event on a remote node.<br>
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   580
For example, before:
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   581
<pre>
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   582
void
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   583
SimpleChannel::Send (Ptr&lt;Packet&gt; p, uint16_t protocol, 
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   584
		     Mac48Address to, Mac48Address from,
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   585
		     Ptr&lt;SimpleNetDevice&gt; sender)
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   586
{
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   587
  for (std::vector&lt;Ptr&lt;SimpleNetDevice&gt; &gt;::const_iterator i = m_devices.begin (); i != m_devices.end (); ++i)
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   588
    {
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   589
      Ptr&lt;SimpleNetDevice&gt; tmp = *i;
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   590
      if (tmp == sender)
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   591
	{
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   592
	  continue;
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   593
	}
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   594
      Simulator::ScheduleNow (&SimpleNetDevice::Receive, tmp, p->Copy (), protocol, to, from);
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   595
    }
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   596
}
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   597
</pre>
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   598
After:
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   599
<pre>
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   600
void
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   601
SimpleChannel::Send (Ptr&lt;Packet&gt; p, uint16_t protocol, 
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   602
		     Mac48Address to, Mac48Address from,
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   603
		     Ptr&lt;SimpleNetDevice&gt; sender)
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   604
{
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   605
  for (std::vector&lt;Ptr&lt;SimpleNetDevice&gt; &gt;::const_iterator i = m_devices.begin (); i != m_devices.end (); ++i)
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   606
    {
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   607
      Ptr&lt;SimpleNetDevice&gt; tmp = *i;
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   608
      if (tmp == sender)
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   609
	{
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   610
	  continue;
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   611
	}
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   612
      Simulator::ScheduleWithContext (tmp->GetNode ()->GetId (), Seconds (0),
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   613
                                      &SimpleNetDevice::Receive, tmp, p->Copy (), protocol, to, from);
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   614
    }
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   615
}
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   616
</pre>
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   617
5507
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   618
<li><b>Simulator::SetScheduler</b>: this method now takes an ObjectFactory
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   619
instead of an object pointer directly. Existing callers can trivially be
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   620
updated to use this new method.<br>
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   621
Before:
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   622
<pre>
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   623
Ptr&lt;Scheduler&gt; sched = CreateObject&lt;ListScheduler&gt; ();
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   624
Simulator::SetScheduler (sched);
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   625
</pre>
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   626
After:
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   627
<pre>
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   628
ObjectFactory sched;
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   629
sched.SetTypeId ("ns3::ListScheduler");
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   630
Simulator::SetScheduler (sched);
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   631
</pre>
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   632
5742
19c79550b371 CHANGES.html, AUTHORS and RELEASE_NOTES updated after AODV merge
Pavel Boyko <boyko@iitp.ru>
parents: 5532
diff changeset
   633
<li> Extensions to IPv4 <b>Ping</b> application: verbose output and the ability to configure different ping 
5814
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   634
sizes and time intervals (via new attributes)
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   635
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   636
<li><b>Topology Helpers</b>: Previously, topology helpers such as a point-to-point star existed in the 
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   637
PointToPointHelper class in the form of a method (ex: PointToPointHelper::InstallStar).  These topology 
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   638
helpers have been pulled out of the specific helper classes and created as separate classes.  Several 
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   639
different topology helper classes now exist including PointToPointStarHelper, PointToPointGridHelper, 
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   640
PointToPointDumbbellHelper, and CsmaStarHelper.  For example, a user wishes to create a 
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   641
point-to-point star network:<br>
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   642
Before:
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   643
<pre>
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   644
NodeContainer hubNode;
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   645
NodeContainer spokeNodes;
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   646
hubNode.Create (1);
5868
ed1e2ad4c0b9 Fix angle braces in CHANGES.html.
Andrey Mazo <mazo@iitp.ru>
parents: 5858
diff changeset
   647
Ptr&lt;Node&gt; hub = hubNode.Get (0);
5814
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   648
spokeNodes.Create (nNodes - 1);
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   649
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   650
PointToPointHelper pointToPoint;
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   651
pointToPoint.SetDeviceAttribute ("DataRate", StringValue ("5Mbps"));
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   652
pointToPoint.SetChannelAttribute ("Delay", StringValue ("2ms"));
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   653
NetDeviceContainer hubDevices, spokeDevices;
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   654
pointToPoint.InstallStar (hubNode.Get (0), spokeNodes, hubDevices, spokeDevices);
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   655
</pre>
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   656
After:
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   657
<pre>
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   658
PointToPointHelper pointToPoint;
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   659
pointToPoint.SetDeviceAttribute ("DataRate", StringValue ("5Mbps"));
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   660
pointToPoint.SetChannelAttribute ("Delay", StringValue ("2ms"));
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   661
PointToPointStarHelper star (nSpokes, pointToPoint);
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   662
</pre>
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   663
5214623658f2 Update CHANGES.html.
Sebastien Vincent <sebastien.vincent@turnserver.org>
parents: 5812
diff changeset
   664
</li>
5742
19c79550b371 CHANGES.html, AUTHORS and RELEASE_NOTES updated after AODV merge
Pavel Boyko <boyko@iitp.ru>
parents: 5532
diff changeset
   665
5507
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   666
</ul>
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   667
5526
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   668
<h2>Changed behavior:</h2>
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   669
<ul>
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   670
<li> Changed default value of YansWifiPhy::EnergyDetectionThreshold from
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   671
-140.0 dBm to -96.0 dBm.  Changed default value of 
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   672
YansWifiPhy::CcaModelThreshold from -140.0 dBm to -99.0 dBm.  Rationale
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   673
can be found <a href="http://www.nsnam.org/bugzilla/show_bug.cgi?id=689"> 
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   674
here</a>.
5817
87aaf687f869 updated CHANGES.html after fixing bug 695
Kirill Andreev <andreev@iitp.ru>
parents: 5814
diff changeset
   675
</li>
87aaf687f869 updated CHANGES.html after fixing bug 695
Kirill Andreev <andreev@iitp.ru>
parents: 5814
diff changeset
   676
<li> Default TTL of IPv4 broadcast datagrams changed from 1 to 64.</li>
87aaf687f869 updated CHANGES.html after fixing bug 695
Kirill Andreev <andreev@iitp.ru>
parents: 5814
diff changeset
   677
<li> Changed DcfManager::UpdateBackoff (): using flooring instead of rounding in calculation of remaining slots. <a href="http://www.nsnam.org/bugzilla/show_bug.cgi?id=695">
87aaf687f869 updated CHANGES.html after fixing bug 695
Kirill Andreev <andreev@iitp.ru>
parents: 5814
diff changeset
   678
  See bug 695.</a></li>
5526
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   679
</ul>
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   680
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   681
5507
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   682
<hr>
4681
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   683
<h1>Changes from ns-3.5 to ns-3.6</h1>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   684
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   685
<h2>Changes to build system:</h2>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   686
<ul>
5407
4ad0d23af431 update CHANGES.html and RELEASE_NOTES for release
Craig Dowell <craigdo@ee.washington.edu>
parents: 5224
diff changeset
   687
<li><b>A new test framework is provided with ns-3.6 that primarilay runs outside waf</b>
4ad0d23af431 update CHANGES.html and RELEASE_NOTES for release
Craig Dowell <craigdo@ee.washington.edu>
parents: 5224
diff changeset
   688
<p>"./waf check" now runs the new unit tests of the core part of ns-3.6.  
4ad0d23af431 update CHANGES.html and RELEASE_NOTES for release
Craig Dowell <craigdo@ee.washington.edu>
parents: 5224
diff changeset
   689
In order to run the complete test package, use "./test.py" which is 
4ad0d23af431 update CHANGES.html and RELEASE_NOTES for release
Craig Dowell <craigdo@ee.washington.edu>
parents: 5224
diff changeset
   690
documented in a new manual -- find it in ./doc/testing.  "./waf check"
4ad0d23af431 update CHANGES.html and RELEASE_NOTES for release
Craig Dowell <craigdo@ee.washington.edu>
parents: 5224
diff changeset
   691
no longer generates the introspected Doxygen.  Now use "./waf doxygen"
4ad0d23af431 update CHANGES.html and RELEASE_NOTES for release
Craig Dowell <craigdo@ee.washington.edu>
parents: 5224
diff changeset
   692
to do this and generate the Doxygen documentation in one step.
4ad0d23af431 update CHANGES.html and RELEASE_NOTES for release
Craig Dowell <craigdo@ee.washington.edu>
parents: 5224
diff changeset
   693
</p>
4681
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   694
</ul>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   695
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   696
<h2>New API:</h2>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   697
<ul>
4761
8c0b3a413f4b Add metric and longest prefix match support for IPv6.
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4747
diff changeset
   698
<li><b>Longest prefix match, support for metrics, for Ipv4StaticRouting and Ipv6StaticRouting</b>
4747
3dc675bb8b20 Static routing with support for metrics and longest prefix match
Antti Makela <zarhan@cc.hut.fi>
parents: 4745
diff changeset
   699
<p>When performing route lookup, first match for longest prefix, and then
3dc675bb8b20 Static routing with support for metrics and longest prefix match
Antti Makela <zarhan@cc.hut.fi>
parents: 4745
diff changeset
   700
based on metrics (default metric = 0).  If metrics are equal, most recent
3dc675bb8b20 Static routing with support for metrics and longest prefix match
Antti Makela <zarhan@cc.hut.fi>
parents: 4745
diff changeset
   701
addition is picked.  Extends API for support of metrics but preserves
3dc675bb8b20 Static routing with support for metrics and longest prefix match
Antti Makela <zarhan@cc.hut.fi>
parents: 4745
diff changeset
   702
backward compatibility.  One small change is that the default route
3dc675bb8b20 Static routing with support for metrics and longest prefix match
Antti Makela <zarhan@cc.hut.fi>
parents: 4745
diff changeset
   703
is no longer stored as index 0 route in the host route table so 
3dc675bb8b20 Static routing with support for metrics and longest prefix match
Antti Makela <zarhan@cc.hut.fi>
parents: 4745
diff changeset
   704
GetDefaultRoute () must be used.
3dc675bb8b20 Static routing with support for metrics and longest prefix match
Antti Makela <zarhan@cc.hut.fi>
parents: 4745
diff changeset
   705
</p>
3dc675bb8b20 Static routing with support for metrics and longest prefix match
Antti Makela <zarhan@cc.hut.fi>
parents: 4745
diff changeset
   706
</li>
4745
a0e27af57c8d Allow injection of routes to Ipv4GlobalRouting
Antti Makela <zarhan@cc.hut.fi>
parents: 4735
diff changeset
   707
<li><b>Route injection for global routing</b>
a0e27af57c8d Allow injection of routes to Ipv4GlobalRouting
Antti Makela <zarhan@cc.hut.fi>
parents: 4735
diff changeset
   708
<p>Add ability to inject and withdraw routes to Ipv4GlobalRouting.  This
a0e27af57c8d Allow injection of routes to Ipv4GlobalRouting
Antti Makela <zarhan@cc.hut.fi>
parents: 4735
diff changeset
   709
allows a user to insert a route and have it redistributed like an OSPF
a0e27af57c8d Allow injection of routes to Ipv4GlobalRouting
Antti Makela <zarhan@cc.hut.fi>
parents: 4735
diff changeset
   710
external LSA to the rest of the topology.
a0e27af57c8d Allow injection of routes to Ipv4GlobalRouting
Antti Makela <zarhan@cc.hut.fi>
parents: 4735
diff changeset
   711
</p>
a0e27af57c8d Allow injection of routes to Ipv4GlobalRouting
Antti Makela <zarhan@cc.hut.fi>
parents: 4735
diff changeset
   712
</li>
5184
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   713
4735
f011cf863e07 updated release notes
Nicola Baldo <nbaldo@cttc.es>
parents: 4731
diff changeset
   714
<li><b>Athstats</b>
f011cf863e07 updated release notes
Nicola Baldo <nbaldo@cttc.es>
parents: 4731
diff changeset
   715
<p>New classes AthstatsWifiTraceSink and AthstatsHelper.
f011cf863e07 updated release notes
Nicola Baldo <nbaldo@cttc.es>
parents: 4731
diff changeset
   716
</p>
f011cf863e07 updated release notes
Nicola Baldo <nbaldo@cttc.es>
parents: 4731
diff changeset
   717
</li>
f011cf863e07 updated release notes
Nicola Baldo <nbaldo@cttc.es>
parents: 4731
diff changeset
   718
<li><b>WifiRemoteStationManager </b>
f011cf863e07 updated release notes
Nicola Baldo <nbaldo@cttc.es>
parents: 4731
diff changeset
   719
<p>New trace sources exported by WifiRemoteStationManager: MacTxRtsFailed, MacTxDataFailed, MacTxFinalRtsFailed and MacTxFinalDataFailed.
f011cf863e07 updated release notes
Nicola Baldo <nbaldo@cttc.es>
parents: 4731
diff changeset
   720
</p>
f011cf863e07 updated release notes
Nicola Baldo <nbaldo@cttc.es>
parents: 4731
diff changeset
   721
</li>
5184
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   722
4731
510db8599bfb second phase of IPv6 checkins from Univ. of Strasbourg team
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4681
diff changeset
   723
<li><b> IPv6 additions</b>
510db8599bfb second phase of IPv6 checkins from Univ. of Strasbourg team
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4681
diff changeset
   724
<p> Add an IPv6 protocol and ICMPv6 capability.
510db8599bfb second phase of IPv6 checkins from Univ. of Strasbourg team
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4681
diff changeset
   725
<ul>
510db8599bfb second phase of IPv6 checkins from Univ. of Strasbourg team
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4681
diff changeset
   726
<li> new classes Ipv6, Ipv6Interface, Ipv6L3Protocol, Ipv6L4Protocol
510db8599bfb second phase of IPv6 checkins from Univ. of Strasbourg team
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4681
diff changeset
   727
<li> Ipv6RawSocket (no UDP or TCP capability yet)
510db8599bfb second phase of IPv6 checkins from Univ. of Strasbourg team
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4681
diff changeset
   728
<li> a set of classes to implement Icmpv6, including neighbor discovery,
510db8599bfb second phase of IPv6 checkins from Univ. of Strasbourg team
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4681
diff changeset
   729
router solicitation, DAD
510db8599bfb second phase of IPv6 checkins from Univ. of Strasbourg team
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4681
diff changeset
   730
<li> new applications Ping6 and Radvd
510db8599bfb second phase of IPv6 checkins from Univ. of Strasbourg team
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4681
diff changeset
   731
<li> routing objects Ipv6Route and Ipv6MulticastRoute
510db8599bfb second phase of IPv6 checkins from Univ. of Strasbourg team
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4681
diff changeset
   732
<li> routing protocols Ipv6ListRouting and Ipv6StaticRouting
510db8599bfb second phase of IPv6 checkins from Univ. of Strasbourg team
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4681
diff changeset
   733
<li> examples: icmpv6-redirect.cc, ping6.cc, radvd.cc, radvd-two-prefix.cc, simple-routing-ping6.cc
5184
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   734
</ul>
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   735
</p>
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   736
</li> 
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   737
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   738
<li><b>Wireless Mesh Networking models</b>
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   739
<ul>
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   740
<p>
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   741
<li> General multi-interface mesh stack infrastructure (devices/mesh module).
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   742
<li> IEEE 802.11s (Draft 3.0) model including Peering Management Protocol and HWMP.
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   743
<li> Forwarding Layer for Meshing (FLAME) protocol.
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   744
</ul>
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   745
</p>
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   746
</li>
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   747
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   748
<li><b>802.11 enhancements</b>
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   749
<p>
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   750
<ul>
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   751
<li> 10MHz and 5MHz channel width supported by 802.11a model (Ramon Bauza and Kirill Andreev).
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   752
</ul>
5189
8fcdf87a790a Channel switching support for Wifi
Ramon Bauza
parents: 5184
diff changeset
   753
<ul>
8fcdf87a790a Channel switching support for Wifi
Ramon Bauza
parents: 5184
diff changeset
   754
<li> Channel switching support. YansWifiPhy can now switch among different channels (Ramon Bauza and Pavel Boyko).
8fcdf87a790a Channel switching support for Wifi
Ramon Bauza
parents: 5184
diff changeset
   755
</ul>
5184
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   756
</p>
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   757
</li>
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   758
5224
06f639d05b8f Merge NixVector Routing code
Josh Pelkey <jpelkey@gatech.edu>
parents: 5189
diff changeset
   759
<li><b> Nix-vector Routing</b>
06f639d05b8f Merge NixVector Routing code
Josh Pelkey <jpelkey@gatech.edu>
parents: 5189
diff changeset
   760
<p> Add nix-vector routing protocol
06f639d05b8f Merge NixVector Routing code
Josh Pelkey <jpelkey@gatech.edu>
parents: 5189
diff changeset
   761
<ul>
06f639d05b8f Merge NixVector Routing code
Josh Pelkey <jpelkey@gatech.edu>
parents: 5189
diff changeset
   762
<li> new helper class Ipv4NixVectorHelper
06f639d05b8f Merge NixVector Routing code
Josh Pelkey <jpelkey@gatech.edu>
parents: 5189
diff changeset
   763
</ul>
06f639d05b8f Merge NixVector Routing code
Josh Pelkey <jpelkey@gatech.edu>
parents: 5189
diff changeset
   764
<ul>
06f639d05b8f Merge NixVector Routing code
Josh Pelkey <jpelkey@gatech.edu>
parents: 5189
diff changeset
   765
<li> examples: nix-simple.cc, nms-p2p-nix.cc
06f639d05b8f Merge NixVector Routing code
Josh Pelkey <jpelkey@gatech.edu>
parents: 5189
diff changeset
   766
</ul> 
06f639d05b8f Merge NixVector Routing code
Josh Pelkey <jpelkey@gatech.edu>
parents: 5189
diff changeset
   767
</p>
06f639d05b8f Merge NixVector Routing code
Josh Pelkey <jpelkey@gatech.edu>
parents: 5189
diff changeset
   768
</li>
06f639d05b8f Merge NixVector Routing code
Josh Pelkey <jpelkey@gatech.edu>
parents: 5189
diff changeset
   769
5407
4ad0d23af431 update CHANGES.html and RELEASE_NOTES for release
Craig Dowell <craigdo@ee.washington.edu>
parents: 5224
diff changeset
   770
<li><b>New Test Framework</b>
4ad0d23af431 update CHANGES.html and RELEASE_NOTES for release
Craig Dowell <craigdo@ee.washington.edu>
parents: 5224
diff changeset
   771
<p> Add TestCase, TestSuite classes
4ad0d23af431 update CHANGES.html and RELEASE_NOTES for release
Craig Dowell <craigdo@ee.washington.edu>
parents: 5224
diff changeset
   772
<ul>
4ad0d23af431 update CHANGES.html and RELEASE_NOTES for release
Craig Dowell <craigdo@ee.washington.edu>
parents: 5224
diff changeset
   773
<li> examples: src/core/names-test-suite.cc, src/core/random-number-test-suite.cc, src/test/ns3tcp/ns3tcp-cwnd-test-suite.cc
4ad0d23af431 update CHANGES.html and RELEASE_NOTES for release
Craig Dowell <craigdo@ee.washington.edu>
parents: 5224
diff changeset
   774
</ul> 
4ad0d23af431 update CHANGES.html and RELEASE_NOTES for release
Craig Dowell <craigdo@ee.washington.edu>
parents: 5224
diff changeset
   775
</p>
4ad0d23af431 update CHANGES.html and RELEASE_NOTES for release
Craig Dowell <craigdo@ee.washington.edu>
parents: 5224
diff changeset
   776
</li>
4ad0d23af431 update CHANGES.html and RELEASE_NOTES for release
Craig Dowell <craigdo@ee.washington.edu>
parents: 5224
diff changeset
   777
4681
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   778
</ul>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   779
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   780
<h2>Changes to existing API:</h2>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   781
<ul>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   782
<li><b>InterferenceHelper</b>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   783
<p>The method InterferenceHelper::CalculateTxDuration (uint32_t size, WifiMode payloadMode, WifiPreamble preamble) has been made static, so that the frame duration depends only on the characteristics of the frame (i.e., the function parameters) and not on the particular standard which is used by the receiving PHY. This makes it now possible to correctly calculate the duration of incoming frames in scenarios in which devices using different PHY configurations coexist in the same channel (e.g., a BSS using short preamble and another BSS using long preamble). </p>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   784
<p> The following member methods have been added to InterferenceHelper:</p>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   785
<pre>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   786
  static WifiMode GetPlcpHeaderMode (WifiMode, WifiPreamble);
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   787
  static uint32_t GetPlcpHeaderDurationMicroSeconds (WifiMode, WifiPreamble);
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   788
  static uint32_t GetPlcpPreambleDurationMicroSeconds (WifiMode, WifiPreamble);
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   789
  static uint32_t GetPayloadDurationMicroSeconds (size, WifiMode); </pre>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   790
<p> The following member methods have been removed from InterferenceHelper:</p>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   791
<pre>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   792
  void Configure80211aParameters (void);
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   793
  void Configure80211bParameters (void);
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   794
  void Configure80211_10MhzParameters (void);
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   795
  void Configure80211_5MhzParameters (void);</pre>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   796
</li>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   797
<li><b>WifiMode</b>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   798
<p>WifiMode now has a WifiPhyStandard attribute which identifies the standard the WifiMode belongs to. To properly set this attribute when creating a new WifiMode, it is now required to explicitly pass a WifiPhyStandard parameter to all WifiModeFactory::CreateXXXX() methods. The WifiPhyStandard value of an existing WifiMode can be retrieved using the new method WifiMode::GetStandard().</p>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   799
</li>
4764
e90e1ef585b0 [Bug 653] NetDevice link change callback (SetLinkChangeCallback -> AddLinkChangeCallback).
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4761
diff changeset
   800
<li><b>NetDevice</b>
e90e1ef585b0 [Bug 653] NetDevice link change callback (SetLinkChangeCallback -> AddLinkChangeCallback).
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4761
diff changeset
   801
<p>In order to have multiple link change callback in NetDevice (i.e. to flush ARP and IPv6 neighbor discovery caches), the following member method has been renamed:</p>
e90e1ef585b0 [Bug 653] NetDevice link change callback (SetLinkChangeCallback -> AddLinkChangeCallback).
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4761
diff changeset
   802
<pre>
e90e1ef585b0 [Bug 653] NetDevice link change callback (SetLinkChangeCallback -> AddLinkChangeCallback).
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4761
diff changeset
   803
- virtual void SetLinkChangeCallback (Callback&lt;void&gt; callback);
e90e1ef585b0 [Bug 653] NetDevice link change callback (SetLinkChangeCallback -> AddLinkChangeCallback).
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4761
diff changeset
   804
+ virtual void AddLinkChangeCallback (Callback&lt;void&gt; callback);</pre>
e90e1ef585b0 [Bug 653] NetDevice link change callback (SetLinkChangeCallback -> AddLinkChangeCallback).
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4761
diff changeset
   805
Now each NetDevice subclasses have a TracedCallback&lt;&gt; object (list of callbacks) instead of Callback&lt;void&gt; ones.
e90e1ef585b0 [Bug 653] NetDevice link change callback (SetLinkChangeCallback -> AddLinkChangeCallback).
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4761
diff changeset
   806
</li>
4681
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   807
</ul>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   808
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   809
<hr>
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   810
<h1>Changes from ns-3.4 to ns-3.5</h1>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   811
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   812
<h2>Changes to build system:</h2>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   813
<ul>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   814
</ul>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   815
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   816
<h2>New API:</h2>
4492
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   817
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   818
<ul>
4492
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   819
<li><b>YansWifiPhyHelper supporting radiotap and prism PCAP output</b>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   820
<p>The newly supported pcap formats can be adopted by calling the following new method of YansWifiPhyHelper:</p>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   821
<pre>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   822
 +  void SetPcapFormat (enum PcapFormat format);
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   823
</pre>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   824
where format is one of PCAP_FORMAT_80211_RADIOTAP, PCAP_FORMAT_80211_PRISM or  PCAP_FORMAT_80211. By default, PCAP_FORMAT_80211 is used, so the default PCAP format is the same as before.</p>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   825
</li>
4502
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   826
4475
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   827
<li> <b>attributes for class Ipv4</b>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   828
<p> class Ipv4 now contains attributes in ipv4.cc; the first one
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   829
is called "IpForward" that will enable/disable Ipv4 forwarding.  
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   830
</li>
4502
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   831
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   832
<li> <b>packet tags</b>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   833
<p>class Packet now contains AddPacketTag, RemovePacketTag and PeekPacketTag 
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   834
which can be used to attach a tag to a packet, as opposed to the old 
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   835
AddTag method which attached a tag to a set of bytes. The main 
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   836
semantic difference is in how these tags behave in the presence of 
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   837
fragmentation and reassembly.
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   838
</li>
4505
e865dbc1d157 merge with HEAD
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4492 4502
diff changeset
   839
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   840
</ul>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   841
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   842
<h2>Changes to existing API:</h2>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   843
<ul>
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   844
4572
e5dcdf2868df Remove Ipv4Interface::GetMtu ()
Tom Henderson <tomh@tomh.org>
parents: 4568
diff changeset
   845
<li><b>Ipv4Interface::GetMtu () deleted</b>
e5dcdf2868df Remove Ipv4Interface::GetMtu ()
Tom Henderson <tomh@tomh.org>
parents: 4568
diff changeset
   846
  <p>The Ipv4Interface API is private to internet-stack module; this method
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   847
was just a pass-through to GetDevice ()-&gt;GetMtu ().
4572
e5dcdf2868df Remove Ipv4Interface::GetMtu ()
Tom Henderson <tomh@tomh.org>
parents: 4568
diff changeset
   848
  </p>
e5dcdf2868df Remove Ipv4Interface::GetMtu ()
Tom Henderson <tomh@tomh.org>
parents: 4568
diff changeset
   849
</li>
e5dcdf2868df Remove Ipv4Interface::GetMtu ()
Tom Henderson <tomh@tomh.org>
parents: 4568
diff changeset
   850
4635
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   851
<li><b>GlobalRouteManager::PopulateRoutingTables () and RecomputeRoutingTables () are deprecated </b>
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   852
  <p>This API has been moved to the helper API and the above functions will
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   853
be removed in ns-3.6.  The new API is:
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   854
<pre>
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   855
Ipv4GlobalRoutingHelper::PopulateRoutingTables ();
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   856
Ipv4GlobalRoutingHelper::RecomputeRoutingTables ();
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   857
</pre>
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   858
Additionally, these low-level functions in GlobalRouteManager are now public,
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   859
allowing more API flexibility at the low level ns-3 API:
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   860
<pre>
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   861
GlobalRouteManager::DeleteGlobalRoutes ();
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   862
GlobalRouteManager::BuildGlobalRoutingDatabase ();
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   863
GlobalRouteManager::InitializeRoutes ();
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   864
</pre>
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   865
  </p>
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   866
</li>
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   867
4568
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   868
<li><b>CalcChecksum attribute changes</b>
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   869
  <p>Four IPv4 CalcChecksum attributes (which enable the computation of 
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   870
checksums that are disabled by default) have been collapsed into one global 
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   871
value in class Node.  These four calls: 
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   872
<pre>
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   873
Config::SetDefault ("ns3::Ipv4L3Protocol::CalcChecksum", BooleanValue (true)); 
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   874
Config::SetDefault ("ns3::Icmpv4L4Protocol::CalcChecksum", BooleanValue (true));
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   875
Config::SetDefault ("ns3::TcpL4Protocol::CalcChecksum", BooleanValue (true));
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   876
Config::SetDefault ("ns3::UdpL4Protocol::CalcChecksum", BooleanValue (true));
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   877
</pre>
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   878
are replaced by one call to:
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   879
<pre>
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   880
GlobalValue::Bind ("ChecksumEnabled", BooleanValue (true));
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   881
</pre>
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   882
  </p>
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   883
</li>
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   884
4555
e33c757f790c update for API changes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4505
diff changeset
   885
<li><b>CreateObject changes</b>
e33c757f790c update for API changes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4505
diff changeset
   886
  <p>CreateObject is now able to construct objects with a non-default constructor.
e33c757f790c update for API changes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4505
diff changeset
   887
   If you used to pass attribute lists to CreateObject, you must now use CreateObjectWithAttributes.
e33c757f790c update for API changes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4505
diff changeset
   888
  </p>
e33c757f790c update for API changes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4505
diff changeset
   889
</li>
e33c757f790c update for API changes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4505
diff changeset
   890
4502
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   891
<li> <b>packet byte tags renaming</b>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   892
  <ul>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   893
  <li>Packet::AddTag to Packet::AddByteTag</li>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   894
  <li>Packet::FindFirstMatchingTag to Packet::FindFirstMatchingByteTag</li>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   895
  <li>Packet::RemoveAllTags to Packet::RemoveAllByteTags</li>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   896
  <li>Packet::PrintTags to Packet::PrintByteTags</li>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   897
  <li>Packet::GetTagIterator to Packet::GetByteTagIterator</li>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   898
  </ul>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   899
</li>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   900
4505
e865dbc1d157 merge with HEAD
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4492 4502
diff changeset
   901
<li><b>YansWifiPhyHelper::EnablePcap* methods not static any more</b>
4492
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   902
<p>To accommodate the possibility of configuring the PCAP format used for wifi promiscuous mode traces, several methods of YansWifiPhyHelper had to be made non-static:
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   903
<pre>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   904
-  static void EnablePcap (std::string filename, uint32_t nodeid, uint32_t deviceid);
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   905
+         void EnablePcap (std::string filename, uint32_t nodeid, uint32_t deviceid);
5868
ed1e2ad4c0b9 Fix angle braces in CHANGES.html.
Andrey Mazo <mazo@iitp.ru>
parents: 5858
diff changeset
   906
-  static void EnablePcap (std::string filename, Ptr&lt;NetDevice&gt; nd);
ed1e2ad4c0b9 Fix angle braces in CHANGES.html.
Andrey Mazo <mazo@iitp.ru>
parents: 5858
diff changeset
   907
+         void EnablePcap (std::string filename, Ptr&lt;NetDevice&gt; nd);
4492
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   908
-  static void EnablePcap (std::string filename, std::string ndName);
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   909
+         void EnablePcap (std::string filename, std::string ndName);
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   910
-  static void EnablePcap (std::string filename, NetDeviceContainer d);
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   911
+         void EnablePcap (std::string filename, NetDeviceContainer d);
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   912
-  static void EnablePcap (std::string filename, NodeContainer n);
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   913
+         void EnablePcap (std::string filename, NodeContainer n);
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   914
-  static void EnablePcapAll (std::string filename);
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   915
+         void EnablePcapAll (std::string filename);
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   916
</pre>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   917
</p>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   918
</li>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   919
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   920
<li><b>Wifi Promisc Sniff interface modified </b>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   921
<p> 
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   922
To accommodate support for the radiotap and prism headers in PCAP traces, the interface for promiscuos mode sniff in the wifi device was changed. The new implementation was heavily inspired by the way the madwifi driver handles monitor mode. A distinction between TX and RX events is introduced, to account for the fact that different information is to be put in the radiotap/prism header (e.g., RSSI and noise make sense only for RX packets). The following are the relevant modifications to the WifiPhy class:
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   923
<pre>
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   924
-  void NotifyPromiscSniff (Ptr&lt;const Packet&gt; packet);
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   925
+  void NotifyPromiscSniffRx (Ptr&lt;const Packet&gt; packet, uint16_t channelFreqMhz, uint32_t rate, bool isShortPreamble, double signalDbm, double noiseDbm);
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   926
+  void NotifyPromiscSniffTx (Ptr&lt;const Packet&gt; packet, uint16_t channelFreqMhz, uint32_t rate, bool isShortPreamble);
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   927
-  TracedCallback&lt;Ptr&lt;const Packet&gt; &gt; m_phyPromiscSnifferTrace;
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   928
+  TracedCallback&lt;Ptr&lt;const Packet&gt;, uint16_t, uint32_t, bool, double, double&gt; m_phyPromiscSniffRxTrace;
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   929
+  TracedCallback&lt;Ptr&lt;const Packet&gt;, uint16_t, uint32_t, bool&gt; m_phyPromiscSniffTxTrace;
4492
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   930
</pre>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   931
The above mentioned callbacks are expected to be used to call the following method to write Wifi PCAP traces in promiscuous mode:
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   932
<pre>
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   933
+  void WriteWifiMonitorPacket(Ptr&lt;const Packet&gt; packet, uint16_t channelFreqMhz, uint32_t rate, bool isShortPreamble, bool isTx, double signalDbm, double noiseDbm);
4492
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   934
</pre>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   935
In the above method, the isTx parameter is to be used to differentiate between TX and RX packets. For an example of how to implement these callbacks, see the implementation of PcapSniffTxEvent and PcapSniffRxEvent in src/helper/yans-wifi-helper.cc
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   936
</p>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   937
</li>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   938
4475
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   939
<li><b> Routing decoupled from class Ipv4</b>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   940
<p> All calls of the form "Ipv4::AddHostRouteTo ()" etc. (i.e. to 
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   941
add static routes, both unicast and multicast) have been moved to a new 
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   942
class Ipv4StaticRouting.  In addition, class Ipv4 now holds only
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   943
one possible routing protocol; the previous way to add routing protocols
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   944
(by ordered list of priority) has been moved to a new class Ipv4ListRouting.
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   945
Class Ipv4 has a new minimal routing API (just to set and get the routing
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   946
protocol):
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   947
<pre>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   948
-  virtual void AddRoutingProtocol (Ptr&lt;Ipv4RoutingProtocol&gt; routingProtocol, int16_t priority) = 0;
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   949
+  virtual void SetRoutingProtocol (Ptr&lt;Ipv4RoutingProtocol&gt; routingProtocol) = 0;
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   950
+  virtual Ptr&lt;Ipv4RoutingProtocol&gt; GetRoutingProtocol (void) const = 0;
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   951
</pre>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   952
</li>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   953
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   954
<li><b> class Ipv4RoutingProtocol is refactored</b>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   955
<p> The abstract base class Ipv4RoutingProtocol has been refactored to
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   956
align with corresponding Linux Ipv4 routing architecture, and has been
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   957
moved from ipv4.h to a new file ipv4-routing-protocol.h.  The new
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   958
methods (RouteOutput () and RouteInput ()) are aligned with Linux 
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   959
ip_route_output() and ip_route_input().  However,
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   960
the general nature of these calls (synchronous routing lookup for
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   961
locally originated packets, and an asynchronous, callback-based lookup
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   962
for forwarded packets) is still the same.
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   963
<pre>
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   964
-  typedef Callback&lt;void, bool, const Ipv4Route&amp;, Ptr&lt;Packet&gt;, const Ipv4Header&amp;&gt; RouteReplyCallback;
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   965
+  typedef Callback&lt;void, Ptr&lt;Ipv4Route&gt;, Ptr&lt;const Packet&gt;, const Ipv4Header &amp;&gt; UnicastForwardCallback;
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   966
+  typedef Callback&lt;void, Ptr&lt;Ipv4MulticastRoute&gt;, Ptr&lt;const Packet&gt;, const Ipv4Header &amp;&gt; MulticastForwardCallback;
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   967
+  typedef Callback&lt;void, Ptr&lt;const Packet&gt;, const Ipv4Header &amp;, uint32_t &gt; LocalDeliverCallback;
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   968
+  typedef Callback&lt;void, Ptr&lt;const Packet&gt;, const Ipv4Header &amp;&gt; ErrorCallback;
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   969
-  virtual bool RequestInterface (Ipv4Address destination, uint32_t&amp; interface) = 0;
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   970
+  virtual Ptr&lt;Ipv4Route&gt; RouteOutput (Ptr&lt;Packet&gt; p, const Ipv4Header &amp;header, uint32_t oif, Socket::SocketErrno &amp;errno) = 0;
4475
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   971
-  virtual bool RequestRoute (uint32_t interface,
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   972
-                            const Ipv4Header &amp;ipHeader,
4475
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   973
-                            Ptr&lt;Packet&gt; packet,
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   974
-                            RouteReplyCallback routeReply) = 0;
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   975
+  virtual bool RouteInput  (Ptr&lt;const Packet&gt; p, const Ipv4Header &amp;header, Ptr&lt;const NetDevice&gt; idev,
4475
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   976
+                             UnicastForwardCallback ucb, MulticastForwardCallback mcb,
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   977
+                             LocalDeliverCallback lcb, ErrorCallback ecb) = 0;
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   978
</pre>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   979
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   980
</li>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   981
<li><b> previous class Ipv4Route, Ipv4MulticastRoute renamed; new classes with
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   982
those same names added</b>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   983
<p> The previous class Ipv4Route and Ipv4MulticastRoute are used by 
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   984
Ipv4StaticRouting and Ipv4GlobalRouting to record internal routing table
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   985
entries, so they were renamed to class Ipv4RoutingTableEntry and
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   986
Ipv4MulticastRoutingTableEntry, respectively.  In their place, new
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   987
class Ipv4Route and class Ipv4MulticastRoute have been added.  These
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   988
are reference-counted objects that are analogous to Linux struct
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   989
rtable and struct mfc_cache, respectively, to achieve better compatibility
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   990
with Linux routing architecture in the future.  
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   991
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   992
<li><b> class Ipv4 address-to-interface mapping functions changed</b>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   993
<p>  There was some general cleanup of functions that involve mappings
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   994
from Ipv4Address to either NetDevice or Ipv4 interface index.  
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   995
<pre>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   996
-  virtual uint32_t FindInterfaceForAddr (Ipv4Address addr) const = 0;
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   997
-  virtual uint32_t FindInterfaceForAddr (Ipv4Address addr, Ipv4Mask mask) const = 0;
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   998
+  virtual int32_t GetInterfaceForAddress (Ipv4Address address) const = 0;
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   999
+  virtual int32_t GetInterfaceForPrefix (Ipv4Address address, Ipv4Mask mask) const = 0;
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
  1000
-  virtual int32_t FindInterfaceForDevice(Ptr&lt;NetDevice&gt; nd) const = 0;
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
  1001
+  virtual int32_t GetInterfaceForDevice (Ptr&lt;const NetDevice&gt; device) const = 0;
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
  1002
-  virtual Ipv4Address GetSourceAddress (Ipv4Address destination) const = 0;
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
  1003
-  virtual bool GetInterfaceForDestination (Ipv4Address dest,
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
  1004
-  virtual uint32_t GetInterfaceByAddress (Ipv4Address addr, Ipv4Mask mask = Ipv4Mask("255.255.255.255"));
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
  1005
</pre>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
  1006
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
  1007
<li><b> class Ipv4 multicast join API deleted</b>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
  1008
<p> The following methods are not really used in present form since IGMP
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
  1009
is not being generated, so they have been removed (planned to be replaced
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
  1010
by multicast socket-based calls in the future):
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
  1011
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
  1012
<pre>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
  1013
- virtual void JoinMulticastGroup (Ipv4Address origin, Ipv4Address group) = 0;
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
  1014
- virtual void LeaveMulticastGroup (Ipv4Address origin, Ipv4Address group) = 0;
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
  1015
</pre>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
  1016
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
  1017
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1018
<li><b>Deconflict NetDevice::ifIndex and Ipv4::ifIndex (bug 85).</b>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1019
<p>All function parameters named "ifIndex" that refer 
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1020
to an Ipv4 interface are instead named "interface".
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1021
<pre>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1022
- static const uint32_t Ipv4RoutingProtocol::IF_INDEX_ANY = 0xffffffff;
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1023
+ static const uint32_t Ipv4RoutingProtocol::INTERFACE_ANY = 0xffffffff;
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1024
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
  1025
- bool Ipv4RoutingProtocol::RequestIfIndex (Ipv4Address destination, uint32_t&amp; ifIndex);
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
  1026
+ bool Ipv4RoutingProtocol::RequestInterface (Ipv4Address destination, uint32_t&amp; interface);
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1027
(N.B. this particular function is planned to be renamed to RouteOutput() in the
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1028
proposed IPv4 routing refactoring)
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1029
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1030
- uint32_t Ipv4::GetIfIndexByAddress (Ipv4Address addr, Ipv4Mask mask);
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1031
+ int_32t Ipv4::GetInterfaceForAddress (Ipv4Address address, Ipv4Mask mask) const;
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1032
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
  1033
- bool Ipv4::GetIfIndexForDestination (Ipv4Address dest, uint32_t &amp;ifIndex) const;
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
  1034
+ bool Ipv4::GetInterfaceForDestination (Ipv4Address dest, uint32_t &amp;interface) const;
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1035
(N.B. this function is not needed in the proposed Ipv4 routing refactoring)
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1036
</pre>
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1037
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1038
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1039
<li><b>Allow multiple IPv4 addresses to be assigned to an interface (bug 188)</b>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1040
  <ul>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1041
  <li> Add class Ipv4InterfaceAddress:  
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1042
  This is a new class to resemble Linux's struct in_ifaddr.  It holds IP addressing information, including mask,
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1043
  broadcast address, scope, whether primary or secondary, etc.
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1044
  <pre>
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1045
+  virtual uint32_t AddAddress (uint32_t interface, Ipv4InterfaceAddress address) = 0;
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1046
+  virtual Ipv4InterfaceAddress GetAddress (uint32_t interface, uint32_t addressIndex) const = 0;
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1047
+  virtual uint32_t GetNAddresses (uint32_t interface) const = 0;
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1048
  </pre>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1049
  <li>Regarding legacy API usage, typically where you once did the following,
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1050
  using the public Ipv4 class interface (e.g.):
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1051
  <pre>
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
  1052
  ipv4A-&gt;SetAddress (ifIndexA, Ipv4Address ("172.16.1.1"));
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
  1053
  ipv4A-&gt;SetNetworkMask (ifIndexA, Ipv4Mask ("255.255.255.255"));
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1054
  </pre>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1055
  you now do:
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1056
  <pre>
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1057
  Ipv4InterfaceAddress ipv4IfAddrA = Ipv4InterfaceAddress (Ipv4Address ("172.16.1.1"), Ipv4Mask ("255.255.255.255"));
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
  1058
  ipv4A-&gt;AddAddress (ifIndexA, ipv4IfAddrA);
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1059
  </pre>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1060
  <li> At the helper API level, one often gets an address from an interface
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1061
  container.  We preserve the legacy GetAddress (uint32_t i) but it
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1062
  is documented that this will return only the first (address index 0)
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1063
  address on the interface, if there are multiple such addresses. 
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1064
  We provide also an overloaded variant for the multi-address case: 
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1065
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1066
  <pre>
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1067
Ipv4Address Ipv4InterfaceContainer::GetAddress (uint32_t i)
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1068
+ Ipv4Address Ipv4InterfaceContainer::GetAddress (uint32_t i, uint32_t j)
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1069
  </pre>
4413
4726838efe7c Added API changes for wifi helpers
Mirko Banchi <mk.banchi@gmail.com>
parents: 4385
diff changeset
  1070
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1071
  </ul>
4413
4726838efe7c Added API changes for wifi helpers
Mirko Banchi <mk.banchi@gmail.com>
parents: 4385
diff changeset
  1072
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1073
<li><b>New WifiMacHelper objects</b>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1074
<p>The type of wifi MAC is now set by two new specific helpers, NqosWifiMacHelper for non QoS MACs and QosWifiMacHelper for Qos MACs. They are passed as argument to WifiHelper::Install methods.</li>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1075
  <pre>
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
  1076
- void WifiHelper::SetMac (std::string type, std::string n0 = "", const AttributeValue &amp;v0 = EmptyAttributeValue (),...)
4413
4726838efe7c Added API changes for wifi helpers
Mirko Banchi <mk.banchi@gmail.com>
parents: 4385
diff changeset
  1077
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
  1078
- NetDeviceContainer WifiHelper::Install (const WifiPhyHelper &amp;phyHelper, NodeContainer c) const
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
  1079
+ NetDeviceContainer WifiHelper::Install (const WifiPhyHelper &amp;phyHelper, const WifiMacHelper &amp;macHelper, NodeContainer c) const
4413
4726838efe7c Added API changes for wifi helpers
Mirko Banchi <mk.banchi@gmail.com>
parents: 4385
diff changeset
  1080
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
  1081
- NetDeviceContainer WifiHelper::Install (const WifiPhyHelper &amp;phy, Ptr&lt;Node&gt; node) const
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
  1082
+ NetDeviceContainer WifiHelper::Install (const WifiPhyHelper &amp;phy, const WifiMacHelper &amp;mac, Ptr&lt;Node&gt; node) const
4413
4726838efe7c Added API changes for wifi helpers
Mirko Banchi <mk.banchi@gmail.com>
parents: 4385
diff changeset
  1083
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
  1084
- NetDeviceContainer WifiHelper::Install (const WifiPhyHelper &amp;phy, std::string nodeName) const
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
  1085
+ NetDeviceContainer WifiHelper::Install (const WifiPhyHelper &amp;phy, const WifiMacHelper &amp;mac, std::string nodeName) const
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1086
  </pre>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1087
  See src/helper/nqos-wifi-mac-helper.h and src/helper/qos-wifi-mac-helper.h for more details.
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1088
  </p>
4413
4726838efe7c Added API changes for wifi helpers
Mirko Banchi <mk.banchi@gmail.com>
parents: 4385
diff changeset
  1089
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1090
<li><b>Remove Mac48Address::IsMulticast</b>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1091
  <p>This method was considered buggy and unsafe to call. Its replacement is Mac48Address::IsGroup.
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1092
  </li>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
  1093
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1094
</ul>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1095
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1096
<h2>Changed behavior:</h2>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1097
<ul>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1098
</ul>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1099
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1100
<hr>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1101
<h1>Changes from ns-3.3 to ns-3.4</h1>
4260
29587ce02a57 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3982
diff changeset
  1102
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
  1103
<h2>Changes to build system:</h2>
4301
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
  1104
<ul>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1105
<li>A major option regarding the downloading and building of ns-3 has been
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1106
added for ns-3.4 -- the ns-3-allinone feature.  This allows a user to
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1107
get the most common options for ns-3 downloaded and built with a minimum
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1108
amount of trouble.  See the ns-3 tutorial for a detailed explanation of
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1109
how to use this new feature.</li>
4301
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
  1110
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1111
<li>The build system now runs build items in parallel by default.  This includes
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1112
the regression tests.</li>
4301
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
  1113
</ul>
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
  1114
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1115
<h2>New API:</h2>
4301
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
  1116
<ul>
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
  1117
<li>XML support has been added to the ConfigStore in src/contrib/config-store.cc</li>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1118
4301
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
  1119
<li>The ns-2 calendar queue scheduler option has been ported to src/simulator</li>
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
  1120
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
  1121
<li>A ThreeLogDistancePropagationLossModel has been added to src/devices/wifi</li>
4260
29587ce02a57 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3982
diff changeset
  1122
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1123
<li>ConstantAccelerationMobilityModel in src/mobility/constant-acceleration-mobility-model.h</li>
4266
7b0c4017bc36 Update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 4260
diff changeset
  1124
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1125
<li>A new emulation mode is supported with the TapBridge net device (see
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1126
src/devices/tap-bridge)</li>
4266
7b0c4017bc36 Update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 4260
diff changeset
  1127
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1128
<li>A new facility for naming ns-3 Objects is included (see
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1129
src/core/names.{cc,h})</li>
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1130
4301
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
  1131
<li>Wifi multicast support has been added in src/devices/wifi</li>
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
  1132
</ul>
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
  1133
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1134
<h2>Changes to existing API:</h2>
4266
7b0c4017bc36 Update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 4260
diff changeset
  1135
7b0c4017bc36 Update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 4260
diff changeset
  1136
<ul>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1137
<li>Some fairly significant changes have been made to the API of the
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1138
random variable code.  Please see the ns-3 manual and src/core/random-variable.cc
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1139
for details.</li>
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1140
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1141
<li>The trace sources in the various NetDevice classes has been completely
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1142
reworked to allow for a consistent set of trace sources across the
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1143
devices.  The names of the trace sources have been changed to provide
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1144
some context with respect to the level at which the trace occurred.
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1145
A new set of trace sources has been added which emulates the behavior
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1146
of packet sniffers.  These sources have been used to implement tcpdump-
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1147
like functionality and are plumbed up into the helper classes.  The 
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1148
user-visible changes are the trace source name changes and the ability
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1149
to do promiscuous-mode pcap tracing via helpers.  For further information
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1150
regarding these changes, please see the ns-3 manual</li>
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1151
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1152
<li>StaticMobilityModel has been renamed ConstantPositionMobilityModel
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1153
StaticSpeedMobilityModel has been renamed ConstantVelocityMobilityModel</li>
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1154
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1155
<li>The Callback templates have been extended to support more parameters.
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1156
See src/core/callback.h</li>
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1157
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1158
<li>Many helper API have been changed to allow passing Object-based parameters
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1159
as string names to ease working with the object name service.</li>
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1160
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1161
<li>The Config APIs now accept path segments that are names defined by the
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1162
object name service.</li>
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1163
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1164
<li>Minor changes were made to make the system build under the Intel C++ compiler.</li>
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1165
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1166
<li>Trace hooks for association and deassociation to/from an access point were
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1167
added to src/devices/wifi/nqsta-wifi-mac.cc</li>
4260
29587ce02a57 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3982
diff changeset
  1168
</ul>
29587ce02a57 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3982
diff changeset
  1169
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1170
<h2>Changed behavior:</h2>
4301
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
  1171
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
  1172
<ul>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1173
<li>The tracing system rework has introduced some significant changes in the
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1174
behavior of some trace sources, specifically in the positioning of trace sources
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1175
in the device code.  For example, there were cases where the packet transmit 
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1176
trace source was hit before the packet was enqueued on the device transmit quueue.
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1177
This now happens just before the packet is transmitted over the channel medium.
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1178
The scope of the changes is too large to be included here.  If you have concerns
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1179
regarding trace semantics, please consult the net device documentation for details.
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1180
As is usual, the ultimate source for documentation is the net device source code.</li>
4301
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
  1181
</ul>
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
  1182
4260
29587ce02a57 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3982
diff changeset
  1183
<hr>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1184
<h1>Changes from ns-3.2 to ns-3.3</h1>
3865
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1185
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1186
<h2>New API:</h2>
3865
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1187
<ul>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1188
<li>
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1189
ns-3 ABORT macros in src/core/abort.h
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1190
Config::MatchContainer
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1191
ConstCast and DynamicCast helper functions for Ptr casting
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1192
StarTopology added to several topology helpers
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1193
NetDevice::IsBridge () 
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1194
</li>
3865
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1195
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1196
<li>17-11-2008; changeset 
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1197
<a href="http://code.nsnam.org/ns-3-dev/rev/4c1c3f6bcd03">4c1c3f6bcd03</a></li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1198
<ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1199
<li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1200
The PppHeader previously defined in the point-to-point-net-device code has been 
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1201
made public.
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1202
</li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1203
</ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1204
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1205
<li>17-11-2008; changeset 
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1206
<a href="http://code.nsnam.org/ns-3-dev/rev/16c2970a0344">16c2970a0344</a></li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1207
<ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1208
<li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1209
An emulated net device has been added as enabling technology for ns-3 emulation
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1210
scenarios.  See src/devices/emu and examples/emu-udp-echo.cc for details.
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1211
</li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1212
</ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1213
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1214
<li>17-11-2008; changeset 
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1215
<a href="http://code.nsnam.org/ns-3-dev/rev/4222173d1e6d">4222173d1e6d</a></li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1216
<ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1217
<li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1218
Added method InternetStackHelper::EnableAsciiChange to allow allow a user to 
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1219
hook ascii trace to the drop trace events in Ipv4L3Protocol and ArpL3Protocol.
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1220
</li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1221
</ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1222
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1223
</ul>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1224
<h2>Changes to existing API:</h2>
3865
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1225
<ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1226
3982
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1227
<li> NetDevice::MakeMulticastAddress() was renamed to NetDevice::GetMulticast()
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1228
and the original GetMulticast() removed </li>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1229
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1230
<li> Socket API changes:
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1231
<ul>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1232
<li> return type of SetDataSentCallback () changed from bool to void </li>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1233
<li> Socket::Listen() no longer takes a queueLimit argument</li>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1234
</ul>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1235
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1236
<li> As part of the Wifi Phy rework, there have been several API changes
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1237
at the low level and helper API level.  </li>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1238
<ul>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1239
<li>  At the helper API level, the WifiHelper was split to three classes: 
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1240
a WifiHelper, a YansWifiChannel helper, and a YansWifiPhy helper.  Some
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1241
functions like Ascii and Pcap tracing functions were moved from class
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1242
WifiHelper to class YansWifiPhyHelper. 
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1243
<li>  At the low-level API, there have been a number of changes to
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1244
make the Phy more modular:</li>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1245
<ul>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1246
<li> composite-propagation-loss-model.h is removed</li>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1247
<li> DcfManager::NotifyCcaBusyStartNow() has changed name</li>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1248
<li> fragmentation related functions (e.g. DcaTxop::GetNFragments()) have
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1249
changed API to account for some implementation changes</li>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1250
<li> Interference helper and error rate model added </li>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1251
<li> JakesPropagationLossModel::GetLoss() moved to PropagationLoss() class</li>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1252
<li> base class WifiChannel made abstract </li>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1253
<li> WifiNetDevice::SetChannel() removed </li>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1254
<li> a WifiPhyState helper class added </li>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1255
<li> addition of the YansWifiChannel and YansWifiPhy classes </li>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1256
</ul>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1257
</ul>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1258
3865
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1259
<li>17-11-2008; changeset 
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1260
<a href="http://code.nsnam.org/ns-3-dev/rev/dacfd1f07538">dacfd1f07538</a></li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1261
<ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1262
<li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1263
Change attribute "RxErrorModel" to "ReceiveErrorModel" in CsmaNetDevice for 
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1264
consistency between devices.
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1265
</li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1266
</ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1267
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1268
</ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1269
<h2>changed behavior:</h2>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1270
<ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1271
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1272
<li>17-11-2008; changeset 
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1273
<a href="http://code.nsnam.org/ns-3-dev/rev/ed0dfce40459">ed0dfce40459</a></li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1274
<ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1275
<li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1276
Relax reasonableness testing in Ipv4AddressHelper::SetBase to allow the 
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1277
assignment of /32 addresses.
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1278
</li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1279
</ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1280
3949
016c554c4f6d CHANGES.html for global routing supporting bridges
Craig Dowell <craigdo@ee.washington.edu>
parents: 3865
diff changeset
  1281
<li>17-11-2008; changeset 
016c554c4f6d CHANGES.html for global routing supporting bridges
Craig Dowell <craigdo@ee.washington.edu>
parents: 3865
diff changeset
  1282
<a href="http://code.nsnam.org/ns-3-dev/rev/756887a9bbea">756887a9bbea</a></li>
016c554c4f6d CHANGES.html for global routing supporting bridges
Craig Dowell <craigdo@ee.washington.edu>
parents: 3865
diff changeset
  1283
<ul>
016c554c4f6d CHANGES.html for global routing supporting bridges
Craig Dowell <craigdo@ee.washington.edu>
parents: 3865
diff changeset
  1284
<li>
016c554c4f6d CHANGES.html for global routing supporting bridges
Craig Dowell <craigdo@ee.washington.edu>
parents: 3865
diff changeset
  1285
Global routing supports bridge devices.
016c554c4f6d CHANGES.html for global routing supporting bridges
Craig Dowell <craigdo@ee.washington.edu>
parents: 3865
diff changeset
  1286
</li>
016c554c4f6d CHANGES.html for global routing supporting bridges
Craig Dowell <craigdo@ee.washington.edu>
parents: 3865
diff changeset
  1287
</ul>
3982
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
  1288
</ul>
3949
016c554c4f6d CHANGES.html for global routing supporting bridges
Craig Dowell <craigdo@ee.washington.edu>
parents: 3865
diff changeset
  1289
3865
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
  1290
<hr>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1291
<h1>Changes from ns-3.1 to ns-3.2</h1>
3593
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
  1292
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1293
<h2>New API:</h2>
3686
9e2dde61057c fix formatting
Tom Henderson <tomh@tomh.org>
parents: 3667
diff changeset
  1294
<ul>
3593
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
  1295
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
  1296
<li>26-08-2008; changeset 
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
  1297
<a href="http://code.nsnam.org/ns-3-dev/rev/5aa65b1ea001">5aa65b1ea001</a></li>
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
  1298
<ul>
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
  1299
<li>
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
  1300
Add multithreaded and real-time simulator implementation.  Allows for emulated
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
  1301
net devices running in threads other than the main simulation thread to schedule
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
  1302
events.  Allows for pacing the simulation clock at 1x real-time.
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
  1303
</li>
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
  1304
</ul>
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
  1305
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
  1306
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
  1307
<li>26-08-2008; changeset 
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
  1308
<a href="http://code.nsnam.org/ns-3-dev/rev/c69779f5e51e">c69779f5e51e</a></li>
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
  1309
<ul>
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
  1310
<li>
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
  1311
Add threading and synchronization primitives.  Enabling technology for 
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
  1312
multithreaded simulator implementation.
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
  1313
</li>
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
  1314
</ul>
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
  1315
3686
9e2dde61057c fix formatting
Tom Henderson <tomh@tomh.org>
parents: 3667
diff changeset
  1316
</ul>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1317
<h2>New API in existing classes:</h2>
3686
9e2dde61057c fix formatting
Tom Henderson <tomh@tomh.org>
parents: 3667
diff changeset
  1318
<ul>
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1319
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1320
<li>01-08-2008; changeset 
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1321
<a href="http://code.nsnam.org/ns-3-dev/rev/a18520551cdf">a18520551cdf</a></li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1322
<ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1323
<li>class ArpCache has two new attributes:  MaxRetries 
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1324
and a Drop trace.  It also has some new public methods but these are 
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1325
mostly for internal use.
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1326
</ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1327
</li>
3686
9e2dde61057c fix formatting
Tom Henderson <tomh@tomh.org>
parents: 3667
diff changeset
  1328
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1329
</ul>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1330
<h2>Changes to existing API:</h2>
3686
9e2dde61057c fix formatting
Tom Henderson <tomh@tomh.org>
parents: 3667
diff changeset
  1331
<ul>
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1332
3667
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
  1333
<li>05-09-2008; changeset 
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
  1334
<a href="http://code.nsnam.org/ns-3-dev/rev/aa1fb0f43571">aa1fb0f43571</a></li>
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
  1335
<ul>
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
  1336
<li>
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
  1337
Change naming of MTU and packet size attributes in CSMA and Point-to-Point devices<br>
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
  1338
After much discussion it was decided that the preferred way to think about 
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
  1339
the different senses of transmission units and encapsulations was to call the 
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
  1340
MAC MTU simply MTU and to use the overall packet size as the PHY-level attribute
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
  1341
of interest.  See the Doxygen of CsmaNetDevice::SetFrameSize and 
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
  1342
PointToPointNetDevice::SetFrameSize for a detailed description.
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
  1343
</li>
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
  1344
</ul>
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
  1345
3551
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
  1346
<li>25-08-2008; changeset 
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
  1347
<a href="http://code.nsnam.org/ns-3-dev/rev/e5ab96db540e">e5ab96db540e</a></li>
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
  1348
<ul>
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
  1349
<li>
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
  1350
bug 273: constify packet pointers.<br>
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
  1351
The normal and the promiscuous receive callbacks of the NetDevice API
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
  1352
have been changed from:
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
  1353
<pre>
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
  1354
Callback&lt;bool,Ptr&lt;NetDevice&gt;,Ptr&lt;Packet&gt;,uint16_t,const Address &amp;&gt;
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
  1355
Callback&lt;bool,Ptr&lt;NetDevice&gt;, Ptr&lt;Packet&gt;, uint16_t,
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
  1356
         const Address &amp;, const Address &amp;, enum PacketType &gt;
3551
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
  1357
</pre>
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
  1358
to:
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
  1359
<pre>
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
  1360
Callback&lt;bool,Ptr&lt;NetDevice&gt;,Ptr&lt;const Packet&gt;,uint16_t,const Address &amp;&gt;
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
  1361
Callback&lt;bool,Ptr&lt;NetDevice&gt;, Ptr&lt;const Packet&gt;, uint16_t,
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
  1362
         const Address &amp;, const Address &amp;, enum PacketType &gt;
3551
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
  1363
</pre>
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
  1364
to avoid the kind of bugs reported in 
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
  1365
<a href="http://www.nsnam.org/bugzilla/show_bug.cgi?id=273">bug 273</a>.
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
  1366
Users who implement a subclass of the NetDevice base class need to change the signature
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
  1367
of their SetReceiveCallback and SetPromiscReceiveCallback methods.
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
  1368
</li>
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
  1369
</ul>
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
  1370
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
  1371
3508
7a3c6148c22d actually use CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3505
diff changeset
  1372
<li>04-08-2008; changeset 
7a3c6148c22d actually use CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3505
diff changeset
  1373
<a href="http://code.nsnam.org/ns-3-dev/rev/cba7b2b80fe8">cba7b2b80fe8</a></li>
7a3c6148c22d actually use CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3505
diff changeset
  1374
<ul>
7a3c6148c22d actually use CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3505
diff changeset
  1375
<li>
3551
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
  1376
Cleanup of MTU confusion and initialization in CsmaNetDevice<br>
3508
7a3c6148c22d actually use CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3505
diff changeset
  1377
The MTU of the CsmaNetDevice defaulted to 65535.  This did not correspond with
7a3c6148c22d actually use CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3505
diff changeset
  1378
the expected MTU found in Ethernet-like devices.  Also there was not clear 
7a3c6148c22d actually use CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3505
diff changeset
  1379
documentation regarding which MTU was being set.  There are two MTU here, one
7a3c6148c22d actually use CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3505
diff changeset
  1380
at the MAC level and one at the PHY level.  We split out the MTU setting to make
7a3c6148c22d actually use CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3505
diff changeset
  1381
this more clear and set the default PHY level MTU to 1500 to be more like
7a3c6148c22d actually use CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3505
diff changeset
  1382
Ethernet.  The encapsulation mode defaults to LLC/SNAP which then puts the
7a3c6148c22d actually use CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3505
diff changeset
  1383
MAC level MTU at 1492 by default.  We allow users to now set the encapsulation
7a3c6148c22d actually use CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3505
diff changeset
  1384
mode, MAC MTU and PHY MTU while keeping the three values consistent.  See the
7a3c6148c22d actually use CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3505
diff changeset
  1385
Doxygen of CsmaNetDevice::SetMaxPayloadLength for a detailed description of the
7a3c6148c22d actually use CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3505
diff changeset
  1386
issues and solution.
7a3c6148c22d actually use CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3505
diff changeset
  1387
</li>
7a3c6148c22d actually use CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3505
diff changeset
  1388
</ul>
3551
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
  1389
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1390
<li>21-07-2008; changeset 
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1391
<a href="
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1392
http://code.nsnam.org/ns-3-dev/rev/99698bc858e8">99698bc858e8</a></li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1393
<ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1394
<li> class NetDevice has added a pure virtual method that
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1395
must be implemented by all subclasses:
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1396
<pre>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1397
virtual void SetPromiscReceiveCallback (PromiscReceiveCallback cb) = 0;
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1398
</pre>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1399
All NetDevices must support this method, and must call this callback
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1400
when processing packets in the receive direction (the appropriate place
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1401
to call this is device-dependent).  An approach to stub this out
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1402
temporarily, if you do not care about immediately enabling this
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1403
functionality, would be to add this to your device:
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1404
<pre>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1405
void
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1406
ExampleNetDevice::SetPromiscReceiveCallback
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1407
(NetDevice::PromiscReceiveCallback cb)
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1408
{ 
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1409
  NS_ASSERT_MSG (false, "No implementation yet for
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1410
SetPromiscReceiveCallback");
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1411
}
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1412
</pre>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1413
To implement this properly, consult the CsmaNetDevice for examples of
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1414
when the m_promiscRxCallback is called.
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1415
</li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1416
</ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1417
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1418
<li>03-07-2008; changeset 
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1419
<a href="http://code.nsnam.org/ns-3-dev/rev/d5f8e5fae1c6">d5f8e5fae1c6</a></li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1420
<ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1421
<li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1422
Miscellaneous cleanup of Udp Helper API, to fix bug 234
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1423
<pre>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1424
class UdpEchoServerHelper
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1425
{
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1426
public:
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1427
- UdpEchoServerHelper ();
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1428
- void SetPort (uint16_t port); 
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1429
+ UdpEchoServerHelper (uint16_t port);
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1430
+ 
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
  1431
+ void SetAttribute (std::string name, const AttributeValue &amp;value);
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1432
ApplicationContainer Install (NodeContainer c);
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1433
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1434
class UdpEchoClientHelper
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1435
{
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1436
public:
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1437
- UdpEchoClientHelper ();
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1438
+ UdpEchoClientHelper (Ipv4Address ip, uint16_t port);
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1439
- void SetRemote (Ipv4Address ip, uint16_t port);
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
  1440
- void SetAppAttribute (std::string name, const AttributeValue &amp;value);
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
  1441
+ void SetAttribute (std::string name, const AttributeValue &amp;value);
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1442
ApplicationContainer Install (NodeContainer c);
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1443
</pre>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1444
</li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1445
</ul>
3551
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
  1446
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1447
<li>03-07-2008; changeset 
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1448
<a href="
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1449
http://code.nsnam.org/ns-3-dev/rev/3cdd9d60f7c7">3cdd9d60f7c7</a></li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1450
<ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1451
<li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1452
Rename all instances method names using "Set..Parameter" to "Set..Attribute"
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1453
(bug 232)
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1454
</li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1455
<li> How to fix your code:  Any use of helper API that was using a method
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1456
"Set...Parameter()" should be changed to read "Set...Attribute()".  e.g.
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1457
<pre>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1458
- csma.SetChannelParameter ("DataRate", DataRateValue (5000000));
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1459
- csma.SetChannelParameter ("Delay", TimeValue (MilliSeconds (2)));
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1460
+ csma.SetChannelAttribute ("DataRate", DataRateValue (5000000));
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1461
+ csma.SetChannelAttribute ("Delay", TimeValue (MilliSeconds (2)));
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1462
</pre>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1463
</li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1464
</ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1465
</li>
3686
9e2dde61057c fix formatting
Tom Henderson <tomh@tomh.org>
parents: 3667
diff changeset
  1466
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1467
</ul>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
  1468
<h2>Changed behavior:</h2>
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1469
<ul>
3645
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1470
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1471
<li>07-09-2008; changeset 
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1472
<a href="http://code.nsnam.org/ns-3-dev/rev/5d836ab1523b">5d836ab1523b</a></li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1473
<ul>
3686
9e2dde61057c fix formatting
Tom Henderson <tomh@tomh.org>
parents: 3667
diff changeset
  1474
3645
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1475
<li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1476
Implement a finite receive buffer for TCP<br>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1477
The native TCP model in TcpSocketImpl did not support a finite receive buffer.
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1478
This changeset adds the following functionality in this regard:
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1479
<ul>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1480
<li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1481
Being able to set the receiver buffer size through the attributes system.
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1482
</li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1483
<li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1484
This receiver buffer size is now correctly exported in the TCP header as the
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1485
advertised window.  Prior to this changeset, the TCP header advertised window
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1486
was set to the maximum size of 2^16 bytes.
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1487
window
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1488
</li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1489
<li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1490
The aforementioned window size is correctly used for flow control, i.e. the
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1491
sending TCP will not send more data than available space in the receiver's
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1492
buffer.
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1493
</li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1494
<li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1495
In the case of a receiver window collapse, when a advertised zero-window
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1496
packet is received, the sender enters the persist probing state in which
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1497
it sends probe packets with one payload byte at exponentially backed-off
6273
8d70de29d514 spell check, mostly in comments.
Andrey Mazo <mazo@iitp.ru>
parents: 6184
diff changeset
  1498
intervals up to 60s.  The receiver will continue to send advertised 
3645
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1499
zero-window ACKs of the old data so long as the receiver buffer remains full.
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1500
When the receiver window clears up due to an application read, the TCP
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1501
will finally ACK the probe byte, and update its advertised window appropriately.
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1502
</li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1503
</ul>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1504
See 
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1505
<a href="http://www.nsnam.org/bugzilla/show_bug.cgi?id=239"> bug 239 </a> for
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1506
more.
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1507
</li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1508
</ul>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1509
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1510
<li>07-09-2008; changeset 
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1511
<a href="http://code.nsnam.org/ns-3-dev/rev/7afa66c2b291">7afa66c2b291</a></li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1512
<ul>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1513
<li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1514
Add correct FIN exchange behavior during TCP closedown<br>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1515
The behavior of the native TcpSocketImpl TCP model was such that the final
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1516
FIN exchange was not correct, i.e. calling Socket::Close didn't send a FIN
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1517
packet, and even if it had, the ACK never came back, and even if it had, the
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1518
ACK would have incorrect sequence number.  All these various problems have been
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1519
addressed by this changeset.  See 
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1520
<a href="http://www.nsnam.org/bugzilla/show_bug.cgi?id=242"> bug 242 </a> for
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1521
more.
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1522
</li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1523
</ul>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
  1524
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1525
<li> 28-07-2008; changeset 
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1526
<a href="http://code.nsnam.org/ns-3-dev/rev/6f68f1044df1">6f68f1044df1</a>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1527
<ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1528
<li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1529
OLSR: HELLO messages hold time changed to 3*hello
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1530
interval from hello interval.  This is an important bug fix as
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1531
hold time == refresh time was never intentional, as it leads to
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1532
instability in neighbor detection.
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1533
</ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1534
</li>
3686
9e2dde61057c fix formatting
Tom Henderson <tomh@tomh.org>
parents: 3667
diff changeset
  1535
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1536
</ul>
3551
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
  1537
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1538
</body>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1539
</html>