CHANGES.html
author Pavel Boyko <boyko@iitp.ru>
Mon, 16 Nov 2009 14:10:22 +0300
changeset 5742 19c79550b371
parent 5532 6e2d5d48dab1
child 5760 4f08a0837018
child 5808 1337475ed924
permissions -rw-r--r--
CHANGES.html, AUTHORS and RELEASE_NOTES updated after AODV merge
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>
5497
d8b1b591839b Document changes to YansWifiPhy defaults
Tom Henderson <tomh@tomh.org>
parents: 5407
diff changeset
    47
<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
    48
5526
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
    49
5497
d8b1b591839b Document changes to YansWifiPhy defaults
Tom Henderson <tomh@tomh.org>
parents: 5407
diff changeset
    50
<h2>Changes to build system:</h2>
d8b1b591839b Document changes to YansWifiPhy defaults
Tom Henderson <tomh@tomh.org>
parents: 5407
diff changeset
    51
d8b1b591839b Document changes to YansWifiPhy defaults
Tom Henderson <tomh@tomh.org>
parents: 5407
diff changeset
    52
<h2>New API:</h2>
d8b1b591839b Document changes to YansWifiPhy defaults
Tom Henderson <tomh@tomh.org>
parents: 5407
diff changeset
    53
d8b1b591839b Document changes to YansWifiPhy defaults
Tom Henderson <tomh@tomh.org>
parents: 5407
diff changeset
    54
<ul>
5526
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
    55
<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
    56
'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
    57
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
    58
event with a context different from the execution context of the caller. This API is used
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
    59
by the ns-3 logging system to report the execution context of each log line.
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
    60
<li><b>Object::DoStart</b>: Users who need to complete their object setup at the start of a simulation
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
    61
can override this virtual method, perform their adhoc setup, and then, must chain up to their parent.
5742
19c79550b371 CHANGES.html, AUTHORS and RELEASE_NOTES updated after AODV merge
Pavel Boyko <boyko@iitp.ru>
parents: 5532
diff changeset
    62
19c79550b371 CHANGES.html, AUTHORS and RELEASE_NOTES updated after AODV merge
Pavel Boyko <boyko@iitp.ru>
parents: 5532
diff changeset
    63
<li><b>Aod hoc On-Demand Distance Vector (AODV)</b> routing model, 
19c79550b371 CHANGES.html, AUTHORS and RELEASE_NOTES updated after AODV merge
Pavel Boyko <boyko@iitp.ru>
parents: 5532
diff changeset
    64
<a href=http://www.ietf.org/rfc/rfc3561.txt>RFC 3561</a> </li>
19c79550b371 CHANGES.html, AUTHORS and RELEASE_NOTES updated after AODV merge
Pavel Boyko <boyko@iitp.ru>
parents: 5532
diff changeset
    65
5497
d8b1b591839b Document changes to YansWifiPhy defaults
Tom Henderson <tomh@tomh.org>
parents: 5407
diff changeset
    66
</ul>
d8b1b591839b Document changes to YansWifiPhy defaults
Tom Henderson <tomh@tomh.org>
parents: 5407
diff changeset
    67
5507
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
    68
<h2>Changes to existing API:</h2>
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
    69
<ul>
5526
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
    70
<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
    71
<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
    72
<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
    73
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
    74
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
    75
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
    76
For example, before:
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
    77
<pre>
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
    78
void
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
    79
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
    80
		     Mac48Address to, Mac48Address from,
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
    81
		     Ptr&lt;SimpleNetDevice&gt; sender)
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
    82
{
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
    83
  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
    84
    {
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
    85
      Ptr&lt;SimpleNetDevice&gt; tmp = *i;
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
    86
      if (tmp == sender)
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
    87
	{
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
    88
	  continue;
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
    89
	}
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
    90
      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
    91
    }
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
    92
}
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
    93
</pre>
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
    94
After:
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
    95
<pre>
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
    96
void
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
    97
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
    98
		     Mac48Address to, Mac48Address from,
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
    99
		     Ptr&lt;SimpleNetDevice&gt; sender)
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   100
{
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   101
  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
   102
    {
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   103
      Ptr&lt;SimpleNetDevice&gt; tmp = *i;
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   104
      if (tmp == sender)
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   105
	{
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   106
	  continue;
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   107
	}
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   108
      Simulator::ScheduleWithContext (tmp->GetNode ()->GetId (), Seconds (0),
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   109
                                      &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
   110
    }
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   111
}
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   112
</pre>
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   113
5507
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   114
<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
   115
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
   116
updated to use this new method.<br>
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   117
Before:
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   118
<pre>
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   119
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
   120
Simulator::SetScheduler (sched);
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   121
</pre>
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   122
After:
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   123
<pre>
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   124
ObjectFactory sched;
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   125
sched.SetTypeId ("ns3::ListScheduler");
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   126
Simulator::SetScheduler (sched);
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   127
</pre>
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   128
5742
19c79550b371 CHANGES.html, AUTHORS and RELEASE_NOTES updated after AODV merge
Pavel Boyko <boyko@iitp.ru>
parents: 5532
diff changeset
   129
<li> Extensions to IPv4 <b>Ping</b> application: verbose output and the ability to configure different ping 
19c79550b371 CHANGES.html, AUTHORS and RELEASE_NOTES updated after AODV merge
Pavel Boyko <boyko@iitp.ru>
parents: 5532
diff changeset
   130
sizes and time intervals (via new attributes)</li>
19c79550b371 CHANGES.html, AUTHORS and RELEASE_NOTES updated after AODV merge
Pavel Boyko <boyko@iitp.ru>
parents: 5532
diff changeset
   131
5507
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   132
</ul>
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   133
5526
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   134
<h2>Changed behavior:</h2>
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   135
<ul>
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   136
<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
   137
-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
   138
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
   139
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
   140
here</a>.
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   141
</ul>
5532
6e2d5d48dab1 file TTL change under another category
Tom Henderson <tomh@tomh.org>
parents: 5529
diff changeset
   142
<ul>
6e2d5d48dab1 file TTL change under another category
Tom Henderson <tomh@tomh.org>
parents: 5529
diff changeset
   143
<li> Default TTL of IPv4 broadcast datagrams changed from 1 to 64.
6e2d5d48dab1 file TTL change under another category
Tom Henderson <tomh@tomh.org>
parents: 5529
diff changeset
   144
</ul> 
5526
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   145
d70ac1951ae4 document API changes for release
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5507
diff changeset
   146
5507
915abd2b907b Simulator::SetScheduler now takes an ObjectFactory
Guillaume Seguin <guillaume@segu.in>
parents: 5497
diff changeset
   147
<hr>
4681
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   148
<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
   149
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   150
<h2>Changes to build system:</h2>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   151
<ul>
5407
4ad0d23af431 update CHANGES.html and RELEASE_NOTES for release
Craig Dowell <craigdo@ee.washington.edu>
parents: 5224
diff changeset
   152
<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
   153
<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
   154
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
   155
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
   156
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
   157
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
   158
</p>
4681
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   159
</ul>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   160
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   161
<h2>New API:</h2>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   162
<ul>
4761
8c0b3a413f4b Add metric and longest prefix match support for IPv6.
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4747
diff changeset
   163
<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
   164
<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
   165
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
   166
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
   167
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
   168
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
   169
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
   170
</p>
3dc675bb8b20 Static routing with support for metrics and longest prefix match
Antti Makela <zarhan@cc.hut.fi>
parents: 4745
diff changeset
   171
</li>
4745
a0e27af57c8d Allow injection of routes to Ipv4GlobalRouting
Antti Makela <zarhan@cc.hut.fi>
parents: 4735
diff changeset
   172
<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
   173
<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
   174
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
   175
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
   176
</p>
a0e27af57c8d Allow injection of routes to Ipv4GlobalRouting
Antti Makela <zarhan@cc.hut.fi>
parents: 4735
diff changeset
   177
</li>
5184
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   178
4735
f011cf863e07 updated release notes
Nicola Baldo <nbaldo@cttc.es>
parents: 4731
diff changeset
   179
<li><b>Athstats</b>
f011cf863e07 updated release notes
Nicola Baldo <nbaldo@cttc.es>
parents: 4731
diff changeset
   180
<p>New classes AthstatsWifiTraceSink and AthstatsHelper.
f011cf863e07 updated release notes
Nicola Baldo <nbaldo@cttc.es>
parents: 4731
diff changeset
   181
</p>
f011cf863e07 updated release notes
Nicola Baldo <nbaldo@cttc.es>
parents: 4731
diff changeset
   182
</li>
f011cf863e07 updated release notes
Nicola Baldo <nbaldo@cttc.es>
parents: 4731
diff changeset
   183
<li><b>WifiRemoteStationManager </b>
f011cf863e07 updated release notes
Nicola Baldo <nbaldo@cttc.es>
parents: 4731
diff changeset
   184
<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
   185
</p>
f011cf863e07 updated release notes
Nicola Baldo <nbaldo@cttc.es>
parents: 4731
diff changeset
   186
</li>
5184
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   187
4731
510db8599bfb second phase of IPv6 checkins from Univ. of Strasbourg team
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4681
diff changeset
   188
<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
   189
<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
   190
<ul>
510db8599bfb second phase of IPv6 checkins from Univ. of Strasbourg team
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4681
diff changeset
   191
<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
   192
<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
   193
<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
   194
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
   195
<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
   196
<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
   197
<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
   198
<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
   199
</ul>
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   200
</p>
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   201
</li> 
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   202
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   203
<li><b>Wireless Mesh Networking models</b>
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   204
<ul>
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   205
<p>
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   206
<li> General multi-interface mesh stack infrastructure (devices/mesh module).
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   207
<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
   208
<li> Forwarding Layer for Meshing (FLAME) protocol.
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   209
</ul>
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   210
</p>
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   211
</li>
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   212
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   213
<li><b>802.11 enhancements</b>
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   214
<p>
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   215
<ul>
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   216
<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
   217
</ul>
5189
8fcdf87a790a Channel switching support for Wifi
Ramon Bauza
parents: 5184
diff changeset
   218
<ul>
8fcdf87a790a Channel switching support for Wifi
Ramon Bauza
parents: 5184
diff changeset
   219
<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
   220
</ul>
5184
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   221
</p>
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   222
</li>
a109c38131dd Cosmetics
Pavel Boyko <boyko@iitp.ru>
parents: 4764
diff changeset
   223
5224
06f639d05b8f Merge NixVector Routing code
Josh Pelkey <jpelkey@gatech.edu>
parents: 5189
diff changeset
   224
<li><b> Nix-vector Routing</b>
06f639d05b8f Merge NixVector Routing code
Josh Pelkey <jpelkey@gatech.edu>
parents: 5189
diff changeset
   225
<p> Add nix-vector routing protocol
06f639d05b8f Merge NixVector Routing code
Josh Pelkey <jpelkey@gatech.edu>
parents: 5189
diff changeset
   226
<ul>
06f639d05b8f Merge NixVector Routing code
Josh Pelkey <jpelkey@gatech.edu>
parents: 5189
diff changeset
   227
<li> new helper class Ipv4NixVectorHelper
06f639d05b8f Merge NixVector Routing code
Josh Pelkey <jpelkey@gatech.edu>
parents: 5189
diff changeset
   228
</ul>
06f639d05b8f Merge NixVector Routing code
Josh Pelkey <jpelkey@gatech.edu>
parents: 5189
diff changeset
   229
<ul>
06f639d05b8f Merge NixVector Routing code
Josh Pelkey <jpelkey@gatech.edu>
parents: 5189
diff changeset
   230
<li> examples: nix-simple.cc, nms-p2p-nix.cc
06f639d05b8f Merge NixVector Routing code
Josh Pelkey <jpelkey@gatech.edu>
parents: 5189
diff changeset
   231
</ul> 
06f639d05b8f Merge NixVector Routing code
Josh Pelkey <jpelkey@gatech.edu>
parents: 5189
diff changeset
   232
</p>
06f639d05b8f Merge NixVector Routing code
Josh Pelkey <jpelkey@gatech.edu>
parents: 5189
diff changeset
   233
</li>
06f639d05b8f Merge NixVector Routing code
Josh Pelkey <jpelkey@gatech.edu>
parents: 5189
diff changeset
   234
5407
4ad0d23af431 update CHANGES.html and RELEASE_NOTES for release
Craig Dowell <craigdo@ee.washington.edu>
parents: 5224
diff changeset
   235
<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
   236
<p> Add TestCase, TestSuite classes
4ad0d23af431 update CHANGES.html and RELEASE_NOTES for release
Craig Dowell <craigdo@ee.washington.edu>
parents: 5224
diff changeset
   237
<ul>
4ad0d23af431 update CHANGES.html and RELEASE_NOTES for release
Craig Dowell <craigdo@ee.washington.edu>
parents: 5224
diff changeset
   238
<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
   239
</ul> 
4ad0d23af431 update CHANGES.html and RELEASE_NOTES for release
Craig Dowell <craigdo@ee.washington.edu>
parents: 5224
diff changeset
   240
</p>
4ad0d23af431 update CHANGES.html and RELEASE_NOTES for release
Craig Dowell <craigdo@ee.washington.edu>
parents: 5224
diff changeset
   241
</li>
4ad0d23af431 update CHANGES.html and RELEASE_NOTES for release
Craig Dowell <craigdo@ee.washington.edu>
parents: 5224
diff changeset
   242
4681
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   243
</ul>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   244
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   245
<h2>Changes to existing API:</h2>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   246
<ul>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   247
<li><b>InterferenceHelper</b>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   248
<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
   249
<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
   250
<pre>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   251
  static WifiMode GetPlcpHeaderMode (WifiMode, WifiPreamble);
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   252
  static uint32_t GetPlcpHeaderDurationMicroSeconds (WifiMode, WifiPreamble);
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   253
  static uint32_t GetPlcpPreambleDurationMicroSeconds (WifiMode, WifiPreamble);
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   254
  static uint32_t GetPayloadDurationMicroSeconds (size, WifiMode); </pre>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   255
<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
   256
<pre>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   257
  void Configure80211aParameters (void);
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   258
  void Configure80211bParameters (void);
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   259
  void Configure80211_10MhzParameters (void);
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   260
  void Configure80211_5MhzParameters (void);</pre>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   261
</li>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   262
<li><b>WifiMode</b>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   263
<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
   264
</li>
4764
e90e1ef585b0 [Bug 653] NetDevice link change callback (SetLinkChangeCallback -> AddLinkChangeCallback).
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4761
diff changeset
   265
<li><b>NetDevice</b>
e90e1ef585b0 [Bug 653] NetDevice link change callback (SetLinkChangeCallback -> AddLinkChangeCallback).
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4761
diff changeset
   266
<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
   267
<pre>
e90e1ef585b0 [Bug 653] NetDevice link change callback (SetLinkChangeCallback -> AddLinkChangeCallback).
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4761
diff changeset
   268
- 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
   269
+ 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
   270
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
   271
</li>
4681
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   272
</ul>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   273
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
   274
<hr>
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   275
<h1>Changes from ns-3.4 to ns-3.5</h1>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   276
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   277
<h2>Changes to build system:</h2>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   278
<ul>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   279
</ul>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   280
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   281
<h2>New API:</h2>
4492
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   282
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   283
<ul>
4492
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   284
<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
   285
<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
   286
<pre>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   287
 +  void SetPcapFormat (enum PcapFormat format);
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   288
</pre>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   289
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
   290
</li>
4502
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   291
4475
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   292
<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
   293
<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
   294
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
   295
</li>
4502
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   296
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   297
<li> <b>packet tags</b>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   298
<p>class Packet now contains AddPacketTag, RemovePacketTag and PeekPacketTag 
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   299
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
   300
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
   301
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
   302
fragmentation and reassembly.
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   303
</li>
4505
e865dbc1d157 merge with HEAD
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4492 4502
diff changeset
   304
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   305
</ul>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   306
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   307
<h2>Changes to existing API:</h2>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   308
<ul>
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   309
4572
e5dcdf2868df Remove Ipv4Interface::GetMtu ()
Tom Henderson <tomh@tomh.org>
parents: 4568
diff changeset
   310
<li><b>Ipv4Interface::GetMtu () deleted</b>
e5dcdf2868df Remove Ipv4Interface::GetMtu ()
Tom Henderson <tomh@tomh.org>
parents: 4568
diff changeset
   311
  <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
   312
was just a pass-through to GetDevice ()-&gt;GetMtu ().
4572
e5dcdf2868df Remove Ipv4Interface::GetMtu ()
Tom Henderson <tomh@tomh.org>
parents: 4568
diff changeset
   313
  </p>
e5dcdf2868df Remove Ipv4Interface::GetMtu ()
Tom Henderson <tomh@tomh.org>
parents: 4568
diff changeset
   314
</li>
e5dcdf2868df Remove Ipv4Interface::GetMtu ()
Tom Henderson <tomh@tomh.org>
parents: 4568
diff changeset
   315
4635
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   316
<li><b>GlobalRouteManager::PopulateRoutingTables () and RecomputeRoutingTables () are deprecated </b>
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   317
  <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
   318
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
   319
<pre>
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   320
Ipv4GlobalRoutingHelper::PopulateRoutingTables ();
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   321
Ipv4GlobalRoutingHelper::RecomputeRoutingTables ();
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   322
</pre>
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   323
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
   324
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
   325
<pre>
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   326
GlobalRouteManager::DeleteGlobalRoutes ();
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   327
GlobalRouteManager::BuildGlobalRoutingDatabase ();
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   328
GlobalRouteManager::InitializeRoutes ();
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   329
</pre>
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   330
  </p>
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   331
</li>
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   332
4568
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   333
<li><b>CalcChecksum attribute changes</b>
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   334
  <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
   335
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
   336
value in class Node.  These four calls: 
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   337
<pre>
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   338
Config::SetDefault ("ns3::Ipv4L3Protocol::CalcChecksum", BooleanValue (true)); 
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   339
Config::SetDefault ("ns3::Icmpv4L4Protocol::CalcChecksum", BooleanValue (true));
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   340
Config::SetDefault ("ns3::TcpL4Protocol::CalcChecksum", BooleanValue (true));
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   341
Config::SetDefault ("ns3::UdpL4Protocol::CalcChecksum", BooleanValue (true));
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   342
</pre>
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   343
are replaced by one call to:
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   344
<pre>
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   345
GlobalValue::Bind ("ChecksumEnabled", BooleanValue (true));
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   346
</pre>
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   347
  </p>
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   348
</li>
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   349
4555
e33c757f790c update for API changes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4505
diff changeset
   350
<li><b>CreateObject changes</b>
e33c757f790c update for API changes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4505
diff changeset
   351
  <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
   352
   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
   353
  </p>
e33c757f790c update for API changes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4505
diff changeset
   354
</li>
e33c757f790c update for API changes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4505
diff changeset
   355
4502
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   356
<li> <b>packet byte tags renaming</b>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   357
  <ul>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   358
  <li>Packet::AddTag to Packet::AddByteTag</li>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   359
  <li>Packet::FindFirstMatchingTag to Packet::FindFirstMatchingByteTag</li>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   360
  <li>Packet::RemoveAllTags to Packet::RemoveAllByteTags</li>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   361
  <li>Packet::PrintTags to Packet::PrintByteTags</li>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   362
  <li>Packet::GetTagIterator to Packet::GetByteTagIterator</li>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   363
  </ul>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   364
</li>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   365
4505
e865dbc1d157 merge with HEAD
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4492 4502
diff changeset
   366
<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
   367
<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
   368
<pre>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   369
-  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
   370
+         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
   371
-  static void EnablePcap (std::string filename, Ptr<NetDevice> nd);
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   372
+         void EnablePcap (std::string filename, Ptr<NetDevice> nd);
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   373
-  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
   374
+         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
   375
-  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
   376
+         void EnablePcap (std::string filename, NetDeviceContainer d);
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   377
-  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
   378
+         void EnablePcap (std::string filename, NodeContainer n);
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   379
-  static void EnablePcapAll (std::string filename);
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   380
+         void EnablePcapAll (std::string filename);
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   381
</pre>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   382
</p>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   383
</li>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   384
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   385
<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
   386
<p> 
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   387
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
   388
<pre>
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   389
-  void NotifyPromiscSniff (Ptr&lt;const Packet&gt; packet);
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   390
+  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
   391
+  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
   392
-  TracedCallback&lt;Ptr&lt;const Packet&gt; &gt; m_phyPromiscSnifferTrace;
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   393
+  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
   394
+  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
   395
</pre>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   396
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
   397
<pre>
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   398
+  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
   399
</pre>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   400
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
   401
</p>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   402
</li>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   403
4475
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   404
<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
   405
<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
   406
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
   407
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
   408
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
   409
(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
   410
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
   411
protocol):
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   412
<pre>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   413
-  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
   414
+  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
   415
+  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
   416
</pre>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   417
</li>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   418
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   419
<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
   420
<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
   421
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
   422
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
   423
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
   424
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
   425
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
   426
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
   427
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
   428
<pre>
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   429
-  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
   430
+  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
   431
+  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
   432
+  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
   433
+  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
   434
-  virtual bool RequestInterface (Ipv4Address destination, uint32_t&amp; interface) = 0;
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   435
+  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
   436
-  virtual bool RequestRoute (uint32_t interface,
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   437
-                            const Ipv4Header &amp;ipHeader,
4475
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   438
-                            Ptr&lt;Packet&gt; packet,
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   439
-                            RouteReplyCallback routeReply) = 0;
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   440
+  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
   441
+                             UnicastForwardCallback ucb, MulticastForwardCallback mcb,
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   442
+                             LocalDeliverCallback lcb, ErrorCallback ecb) = 0;
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   443
</pre>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   444
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   445
</li>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   446
<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
   447
those same names added</b>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   448
<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
   449
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
   450
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
   451
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
   452
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
   453
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
   454
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
   455
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
   456
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   457
<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
   458
<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
   459
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
   460
<pre>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   461
-  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
   462
-  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
   463
+  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
   464
+  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
   465
-  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
   466
+  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
   467
-  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
   468
-  virtual bool GetInterfaceForDestination (Ipv4Address dest,
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   469
-  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
   470
</pre>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   471
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   472
<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
   473
<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
   474
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
   475
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
   476
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   477
<pre>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   478
- 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
   479
- 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
   480
</pre>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   481
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   482
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   483
<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
   484
<p>All function parameters named "ifIndex" that refer 
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   485
to an Ipv4 interface are instead named "interface".
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   486
<pre>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   487
- static const uint32_t Ipv4RoutingProtocol::IF_INDEX_ANY = 0xffffffff;
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   488
+ static const uint32_t Ipv4RoutingProtocol::INTERFACE_ANY = 0xffffffff;
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   489
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   490
- bool Ipv4RoutingProtocol::RequestIfIndex (Ipv4Address destination, uint32_t&amp; ifIndex);
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   491
+ bool Ipv4RoutingProtocol::RequestInterface (Ipv4Address destination, uint32_t&amp; interface);
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   492
(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
   493
proposed IPv4 routing refactoring)
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   494
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   495
- uint32_t Ipv4::GetIfIndexByAddress (Ipv4Address addr, Ipv4Mask mask);
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   496
+ int_32t Ipv4::GetInterfaceForAddress (Ipv4Address address, Ipv4Mask mask) const;
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   497
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   498
- bool Ipv4::GetIfIndexForDestination (Ipv4Address dest, uint32_t &amp;ifIndex) const;
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   499
+ bool Ipv4::GetInterfaceForDestination (Ipv4Address dest, uint32_t &amp;interface) const;
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   500
(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
   501
</pre>
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   502
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   503
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   504
<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
   505
  <ul>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   506
  <li> Add class Ipv4InterfaceAddress:  
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   507
  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
   508
  broadcast address, scope, whether primary or secondary, etc.
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   509
  <pre>
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   510
+  virtual uint32_t AddAddress (uint32_t interface, Ipv4InterfaceAddress address) = 0;
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   511
+  virtual Ipv4InterfaceAddress GetAddress (uint32_t interface, uint32_t addressIndex) const = 0;
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   512
+  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
   513
  </pre>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   514
  <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
   515
  using the public Ipv4 class interface (e.g.):
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   516
  <pre>
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   517
  ipv4A-&gt;SetAddress (ifIndexA, Ipv4Address ("172.16.1.1"));
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   518
  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
   519
  </pre>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   520
  you now do:
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   521
  <pre>
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   522
  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
   523
  ipv4A-&gt;AddAddress (ifIndexA, ipv4IfAddrA);
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   524
  </pre>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   525
  <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
   526
  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
   527
  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
   528
  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
   529
  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
   530
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   531
  <pre>
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   532
Ipv4Address Ipv4InterfaceContainer::GetAddress (uint32_t i)
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   533
+ 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
   534
  </pre>
4413
4726838efe7c Added API changes for wifi helpers
Mirko Banchi <mk.banchi@gmail.com>
parents: 4385
diff changeset
   535
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   536
  </ul>
4413
4726838efe7c Added API changes for wifi helpers
Mirko Banchi <mk.banchi@gmail.com>
parents: 4385
diff changeset
   537
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   538
<li><b>New WifiMacHelper objects</b>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   539
<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
   540
  <pre>
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   541
- 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
   542
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   543
- NetDeviceContainer WifiHelper::Install (const WifiPhyHelper &amp;phyHelper, NodeContainer c) const
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   544
+ 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
   545
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   546
- 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
   547
+ 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
   548
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   549
- 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
   550
+ 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
   551
  </pre>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   552
  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
   553
  </p>
4413
4726838efe7c Added API changes for wifi helpers
Mirko Banchi <mk.banchi@gmail.com>
parents: 4385
diff changeset
   554
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   555
<li><b>Remove Mac48Address::IsMulticast</b>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   556
  <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
   557
  </li>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   558
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   559
</ul>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   560
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   561
<h2>Changed behavior:</h2>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   562
<ul>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   563
</ul>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   564
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   565
<hr>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   566
<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
   567
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   568
<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
   569
<ul>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   570
<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
   571
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
   572
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
   573
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
   574
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
   575
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   576
<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
   577
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
   578
</ul>
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
   579
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   580
<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
   581
<ul>
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   582
<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
   583
4301
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
   584
<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
   585
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
   586
<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
   587
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   588
<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
   589
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   590
<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
   591
src/devices/tap-bridge)</li>
4266
7b0c4017bc36 Update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 4260
diff changeset
   592
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   593
<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
   594
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
   595
4301
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
   596
<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
   597
</ul>
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
   598
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   599
<h2>Changes to existing API:</h2>
4266
7b0c4017bc36 Update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 4260
diff changeset
   600
7b0c4017bc36 Update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 4260
diff changeset
   601
<ul>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   602
<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
   603
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
   604
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
   605
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   606
<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
   607
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
   608
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
   609
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
   610
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
   611
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
   612
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
   613
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
   614
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
   615
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
   616
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   617
<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
   618
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
   619
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   620
<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
   621
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
   622
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   623
<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
   624
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
   625
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   626
<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
   627
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
   628
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   629
<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
   630
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   631
<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
   632
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
   633
</ul>
29587ce02a57 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3982
diff changeset
   634
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   635
<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
   636
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
   637
<ul>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   638
<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
   639
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
   640
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
   641
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
   642
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
   643
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
   644
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
   645
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
   646
</ul>
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
   647
4260
29587ce02a57 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3982
diff changeset
   648
<hr>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   649
<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
   650
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   651
<h2>New API:</h2>
3865
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   652
<ul>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   653
<li>
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   654
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
   655
Config::MatchContainer
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   656
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
   657
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
   658
NetDevice::IsBridge () 
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   659
</li>
3865
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   660
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   661
<li>17-11-2008; changeset 
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   662
<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
   663
<ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   664
<li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   665
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
   666
made public.
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   667
</li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   668
</ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   669
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   670
<li>17-11-2008; changeset 
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   671
<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
   672
<ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   673
<li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   674
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
   675
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
   676
</li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   677
</ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   678
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   679
<li>17-11-2008; changeset 
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   680
<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
   681
<ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   682
<li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   683
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
   684
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
   685
</li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   686
</ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   687
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   688
</ul>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   689
<h2>Changes to existing API:</h2>
3865
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   690
<ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   691
3982
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
   692
<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
   693
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
   694
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
   695
<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
   696
<ul>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
   697
<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
   698
<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
   699
</ul>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
   700
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
   701
<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
   702
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
   703
<ul>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
   704
<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
   705
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
   706
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
   707
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
   708
<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
   709
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
   710
<ul>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
   711
<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
   712
<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
   713
<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
   714
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
   715
<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
   716
<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
   717
<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
   718
<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
   719
<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
   720
<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
   721
</ul>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
   722
</ul>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
   723
3865
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   724
<li>17-11-2008; changeset 
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   725
<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
   726
<ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   727
<li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   728
Change attribute "RxErrorModel" to "ReceiveErrorModel" in CsmaNetDevice for 
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   729
consistency between devices.
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   730
</li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   731
</ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   732
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   733
</ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   734
<h2>changed behavior:</h2>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   735
<ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   736
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   737
<li>17-11-2008; changeset 
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   738
<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
   739
<ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   740
<li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   741
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
   742
assignment of /32 addresses.
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   743
</li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   744
</ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   745
3949
016c554c4f6d CHANGES.html for global routing supporting bridges
Craig Dowell <craigdo@ee.washington.edu>
parents: 3865
diff changeset
   746
<li>17-11-2008; changeset 
016c554c4f6d CHANGES.html for global routing supporting bridges
Craig Dowell <craigdo@ee.washington.edu>
parents: 3865
diff changeset
   747
<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
   748
<ul>
016c554c4f6d CHANGES.html for global routing supporting bridges
Craig Dowell <craigdo@ee.washington.edu>
parents: 3865
diff changeset
   749
<li>
016c554c4f6d CHANGES.html for global routing supporting bridges
Craig Dowell <craigdo@ee.washington.edu>
parents: 3865
diff changeset
   750
Global routing supports bridge devices.
016c554c4f6d CHANGES.html for global routing supporting bridges
Craig Dowell <craigdo@ee.washington.edu>
parents: 3865
diff changeset
   751
</li>
016c554c4f6d CHANGES.html for global routing supporting bridges
Craig Dowell <craigdo@ee.washington.edu>
parents: 3865
diff changeset
   752
</ul>
3982
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
   753
</ul>
3949
016c554c4f6d CHANGES.html for global routing supporting bridges
Craig Dowell <craigdo@ee.washington.edu>
parents: 3865
diff changeset
   754
3865
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   755
<hr>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   756
<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
   757
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   758
<h2>New API:</h2>
3686
9e2dde61057c fix formatting
Tom Henderson <tomh@tomh.org>
parents: 3667
diff changeset
   759
<ul>
3593
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
   760
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
   761
<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
   762
<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
   763
<ul>
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
   764
<li>
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
   765
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
   766
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
   767
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
   768
</li>
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
   769
</ul>
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
   770
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
   771
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
   772
<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
   773
<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
   774
<ul>
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
   775
<li>
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
   776
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
   777
multithreaded simulator implementation.
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
   778
</li>
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
   779
</ul>
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
   780
3686
9e2dde61057c fix formatting
Tom Henderson <tomh@tomh.org>
parents: 3667
diff changeset
   781
</ul>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   782
<h2>New API in existing classes:</h2>
3686
9e2dde61057c fix formatting
Tom Henderson <tomh@tomh.org>
parents: 3667
diff changeset
   783
<ul>
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   784
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   785
<li>01-08-2008; changeset 
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   786
<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
   787
<ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   788
<li>class ArpCache has two new attributes:  MaxRetries 
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   789
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
   790
mostly for internal use.
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   791
</ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   792
</li>
3686
9e2dde61057c fix formatting
Tom Henderson <tomh@tomh.org>
parents: 3667
diff changeset
   793
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   794
</ul>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   795
<h2>Changes to existing API:</h2>
3686
9e2dde61057c fix formatting
Tom Henderson <tomh@tomh.org>
parents: 3667
diff changeset
   796
<ul>
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   797
3667
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
   798
<li>05-09-2008; changeset 
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
   799
<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
   800
<ul>
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
   801
<li>
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
   802
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
   803
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
   804
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
   805
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
   806
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
   807
PointToPointNetDevice::SetFrameSize for a detailed description.
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
   808
</li>
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
   809
</ul>
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
   810
3551
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   811
<li>25-08-2008; changeset 
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   812
<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
   813
<ul>
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   814
<li>
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   815
bug 273: constify packet pointers.<br>
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   816
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
   817
have been changed from:
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   818
<pre>
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   819
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
   820
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
   821
         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
   822
</pre>
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   823
to:
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   824
<pre>
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   825
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
   826
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
   827
         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
   828
</pre>
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   829
to avoid the kind of bugs reported in 
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   830
<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
   831
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
   832
of their SetReceiveCallback and SetPromiscReceiveCallback methods.
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   833
</li>
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   834
</ul>
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   835
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   836
3508
7a3c6148c22d actually use CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3505
diff changeset
   837
<li>04-08-2008; changeset 
7a3c6148c22d actually use CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3505
diff changeset
   838
<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
   839
<ul>
7a3c6148c22d actually use CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3505
diff changeset
   840
<li>
3551
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   841
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
   842
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
   843
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
   844
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
   845
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
   846
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
   847
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
   848
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
   849
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
   850
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
   851
issues and solution.
7a3c6148c22d actually use CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3505
diff changeset
   852
</li>
7a3c6148c22d actually use CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3505
diff changeset
   853
</ul>
3551
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   854
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   855
<li>21-07-2008; changeset 
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   856
<a href="
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   857
http://code.nsnam.org/ns-3-dev/rev/99698bc858e8">99698bc858e8</a></li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   858
<ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   859
<li> class NetDevice has added a pure virtual method that
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   860
must be implemented by all subclasses:
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   861
<pre>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   862
virtual void SetPromiscReceiveCallback (PromiscReceiveCallback cb) = 0;
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   863
</pre>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   864
All NetDevices must support this method, and must call this callback
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   865
when processing packets in the receive direction (the appropriate place
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   866
to call this is device-dependent).  An approach to stub this out
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   867
temporarily, if you do not care about immediately enabling this
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   868
functionality, would be to add this to your device:
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   869
<pre>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   870
void
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   871
ExampleNetDevice::SetPromiscReceiveCallback
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   872
(NetDevice::PromiscReceiveCallback cb)
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   873
{ 
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   874
  NS_ASSERT_MSG (false, "No implementation yet for
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   875
SetPromiscReceiveCallback");
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   876
}
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   877
</pre>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   878
To implement this properly, consult the CsmaNetDevice for examples of
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   879
when the m_promiscRxCallback is called.
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   880
</li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   881
</ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   882
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   883
<li>03-07-2008; changeset 
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   884
<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
   885
<ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   886
<li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   887
Miscellaneous cleanup of Udp Helper API, to fix bug 234
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   888
<pre>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   889
class UdpEchoServerHelper
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   890
{
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   891
public:
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   892
- UdpEchoServerHelper ();
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   893
- void SetPort (uint16_t port); 
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   894
+ UdpEchoServerHelper (uint16_t port);
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   895
+ 
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   896
+ void SetAttribute (std::string name, const AttributeValue &amp;value);
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   897
ApplicationContainer Install (NodeContainer c);
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   898
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   899
class UdpEchoClientHelper
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   900
{
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   901
public:
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   902
- UdpEchoClientHelper ();
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   903
+ UdpEchoClientHelper (Ipv4Address ip, uint16_t port);
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   904
- void SetRemote (Ipv4Address ip, uint16_t port);
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   905
- void SetAppAttribute (std::string name, const AttributeValue &amp;value);
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   906
+ void SetAttribute (std::string name, const AttributeValue &amp;value);
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   907
ApplicationContainer Install (NodeContainer c);
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   908
</pre>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   909
</li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   910
</ul>
3551
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   911
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   912
<li>03-07-2008; changeset 
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   913
<a href="
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   914
http://code.nsnam.org/ns-3-dev/rev/3cdd9d60f7c7">3cdd9d60f7c7</a></li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   915
<ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   916
<li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   917
Rename all instances method names using "Set..Parameter" to "Set..Attribute"
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   918
(bug 232)
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   919
</li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   920
<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
   921
"Set...Parameter()" should be changed to read "Set...Attribute()".  e.g.
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   922
<pre>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   923
- csma.SetChannelParameter ("DataRate", DataRateValue (5000000));
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   924
- csma.SetChannelParameter ("Delay", TimeValue (MilliSeconds (2)));
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   925
+ csma.SetChannelAttribute ("DataRate", DataRateValue (5000000));
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   926
+ csma.SetChannelAttribute ("Delay", TimeValue (MilliSeconds (2)));
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   927
</pre>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   928
</li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   929
</ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   930
</li>
3686
9e2dde61057c fix formatting
Tom Henderson <tomh@tomh.org>
parents: 3667
diff changeset
   931
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   932
</ul>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   933
<h2>Changed behavior:</h2>
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   934
<ul>
3645
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   935
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   936
<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
   937
<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
   938
<ul>
3686
9e2dde61057c fix formatting
Tom Henderson <tomh@tomh.org>
parents: 3667
diff changeset
   939
3645
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   940
<li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   941
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
   942
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
   943
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
   944
<ul>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   945
<li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   946
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
   947
</li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   948
<li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   949
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
   950
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
   951
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
   952
window
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   953
</li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   954
<li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   955
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
   956
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
   957
buffer.
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   958
</li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   959
<li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   960
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
   961
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
   962
it sends probe packets with one payload byte at exponentially backed-off
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   963
intervals up to 60s.  The reciever will continue to send advertised 
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   964
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
   965
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
   966
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
   967
</li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   968
</ul>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   969
See 
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   970
<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
   971
more.
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   972
</li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   973
</ul>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   974
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   975
<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
   976
<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
   977
<ul>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   978
<li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   979
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
   980
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
   981
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
   982
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
   983
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
   984
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
   985
<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
   986
more.
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   987
</li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   988
</ul>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   989
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   990
<li> 28-07-2008; changeset 
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   991
<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
   992
<ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   993
<li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   994
OLSR: HELLO messages hold time changed to 3*hello
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   995
interval from hello interval.  This is an important bug fix as
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   996
hold time == refresh time was never intentional, as it leads to
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   997
instability in neighbor detection.
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   998
</ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   999
</li>
3686
9e2dde61057c fix formatting
Tom Henderson <tomh@tomh.org>
parents: 3667
diff changeset
  1000
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1001
</ul>
3551
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
  1002
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1003
</body>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
  1004
</html>