CHANGES.html
author Nicola Baldo <nbaldo@cttc.es>
Mon, 24 Aug 2009 13:35:41 +0200
changeset 4735 f011cf863e07
parent 4731 510db8599bfb
child 4745 a0e27af57c8d
permissions -rw-r--r--
updated release notes
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>
4681
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    47
<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
    48
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    49
<h2>Changes to build system:</h2>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    50
<ul>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    51
</ul>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    52
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    53
<h2>New API:</h2>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    54
<ul>
4735
f011cf863e07 updated release notes
Nicola Baldo <nbaldo@cttc.es>
parents: 4731
diff changeset
    55
<li><b>Athstats</b>
f011cf863e07 updated release notes
Nicola Baldo <nbaldo@cttc.es>
parents: 4731
diff changeset
    56
<p>New classes AthstatsWifiTraceSink and AthstatsHelper.
f011cf863e07 updated release notes
Nicola Baldo <nbaldo@cttc.es>
parents: 4731
diff changeset
    57
</p>
f011cf863e07 updated release notes
Nicola Baldo <nbaldo@cttc.es>
parents: 4731
diff changeset
    58
</li>
f011cf863e07 updated release notes
Nicola Baldo <nbaldo@cttc.es>
parents: 4731
diff changeset
    59
<li><b>WifiRemoteStationManager </b>
f011cf863e07 updated release notes
Nicola Baldo <nbaldo@cttc.es>
parents: 4731
diff changeset
    60
<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
    61
</p>
f011cf863e07 updated release notes
Nicola Baldo <nbaldo@cttc.es>
parents: 4731
diff changeset
    62
</li>
4731
510db8599bfb second phase of IPv6 checkins from Univ. of Strasbourg team
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4681
diff changeset
    63
<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
    64
<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
    65
<ul>
510db8599bfb second phase of IPv6 checkins from Univ. of Strasbourg team
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4681
diff changeset
    66
<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
    67
<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
    68
<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
    69
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
    70
<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
    71
<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
    72
<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
    73
<li> examples: icmpv6-redirect.cc, ping6.cc, radvd.cc, radvd-two-prefix.cc, simple-routing-ping6.cc
510db8599bfb second phase of IPv6 checkins from Univ. of Strasbourg team
Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
parents: 4681
diff changeset
    74
</ul> 
4681
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    75
</ul>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    76
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    77
<h2>Changes to existing API:</h2>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    78
<ul>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    79
<li><b>InterferenceHelper</b>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    80
<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
    81
<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
    82
<pre>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    83
  static WifiMode GetPlcpHeaderMode (WifiMode, WifiPreamble);
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    84
  static uint32_t GetPlcpHeaderDurationMicroSeconds (WifiMode, WifiPreamble);
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    85
  static uint32_t GetPlcpPreambleDurationMicroSeconds (WifiMode, WifiPreamble);
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    86
  static uint32_t GetPayloadDurationMicroSeconds (size, WifiMode); </pre>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    87
<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
    88
<pre>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    89
  void Configure80211aParameters (void);
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    90
  void Configure80211bParameters (void);
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    91
  void Configure80211_10MhzParameters (void);
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    92
  void Configure80211_5MhzParameters (void);</pre>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    93
</li>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    94
<li><b>WifiMode</b>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    95
<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
    96
</li>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    97
</ul>
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    98
8558474b6149 made InterferenceHelper::CalculateTxDuration () static
Nicola Baldo <nbaldo@cttc.es>
parents: 4643
diff changeset
    99
<hr>
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   100
<h1>Changes from ns-3.4 to ns-3.5</h1>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   101
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   102
<h2>Changes to build system:</h2>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   103
<ul>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   104
</ul>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   105
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   106
<h2>New API:</h2>
4492
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   107
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   108
<ul>
4492
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   109
<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
   110
<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
   111
<pre>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   112
 +  void SetPcapFormat (enum PcapFormat format);
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   113
</pre>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   114
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
   115
</li>
4502
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   116
4475
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   117
<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
   118
<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
   119
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
   120
</li>
4502
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   121
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   122
<li> <b>packet tags</b>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   123
<p>class Packet now contains AddPacketTag, RemovePacketTag and PeekPacketTag 
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   124
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
   125
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
   126
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
   127
fragmentation and reassembly.
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   128
</li>
4505
e865dbc1d157 merge with HEAD
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4492 4502
diff changeset
   129
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   130
</ul>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   131
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   132
<h2>Changes to existing API:</h2>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   133
<ul>
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   134
4572
e5dcdf2868df Remove Ipv4Interface::GetMtu ()
Tom Henderson <tomh@tomh.org>
parents: 4568
diff changeset
   135
<li><b>Ipv4Interface::GetMtu () deleted</b>
e5dcdf2868df Remove Ipv4Interface::GetMtu ()
Tom Henderson <tomh@tomh.org>
parents: 4568
diff changeset
   136
  <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
   137
was just a pass-through to GetDevice ()-&gt;GetMtu ().
4572
e5dcdf2868df Remove Ipv4Interface::GetMtu ()
Tom Henderson <tomh@tomh.org>
parents: 4568
diff changeset
   138
  </p>
e5dcdf2868df Remove Ipv4Interface::GetMtu ()
Tom Henderson <tomh@tomh.org>
parents: 4568
diff changeset
   139
</li>
e5dcdf2868df Remove Ipv4Interface::GetMtu ()
Tom Henderson <tomh@tomh.org>
parents: 4568
diff changeset
   140
4635
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   141
<li><b>GlobalRouteManager::PopulateRoutingTables () and RecomputeRoutingTables () are deprecated </b>
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   142
  <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
   143
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
   144
<pre>
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   145
Ipv4GlobalRoutingHelper::PopulateRoutingTables ();
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   146
Ipv4GlobalRoutingHelper::RecomputeRoutingTables ();
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   147
</pre>
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   148
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
   149
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
   150
<pre>
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   151
GlobalRouteManager::DeleteGlobalRoutes ();
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   152
GlobalRouteManager::BuildGlobalRoutingDatabase ();
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   153
GlobalRouteManager::InitializeRoutes ();
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   154
</pre>
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   155
  </p>
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   156
</li>
b40170d32073 document global routing API changes
Tom Henderson <tomh@tomh.org>
parents: 4629
diff changeset
   157
4568
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   158
<li><b>CalcChecksum attribute changes</b>
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   159
  <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
   160
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
   161
value in class Node.  These four calls: 
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   162
<pre>
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   163
Config::SetDefault ("ns3::Ipv4L3Protocol::CalcChecksum", BooleanValue (true)); 
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   164
Config::SetDefault ("ns3::Icmpv4L4Protocol::CalcChecksum", BooleanValue (true));
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   165
Config::SetDefault ("ns3::TcpL4Protocol::CalcChecksum", BooleanValue (true));
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   166
Config::SetDefault ("ns3::UdpL4Protocol::CalcChecksum", BooleanValue (true));
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   167
</pre>
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   168
are replaced by one call to:
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   169
<pre>
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   170
GlobalValue::Bind ("ChecksumEnabled", BooleanValue (true));
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   171
</pre>
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   172
  </p>
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   173
</li>
8a9c81e59c92 fix examples and documentation for CalcChecksum changes
Tom Henderson <tomh@tomh.org>
parents: 4555
diff changeset
   174
4555
e33c757f790c update for API changes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4505
diff changeset
   175
<li><b>CreateObject changes</b>
e33c757f790c update for API changes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4505
diff changeset
   176
  <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
   177
   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
   178
  </p>
e33c757f790c update for API changes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4505
diff changeset
   179
</li>
e33c757f790c update for API changes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4505
diff changeset
   180
4502
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   181
<li> <b>packet byte tags renaming</b>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   182
  <ul>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   183
  <li>Packet::AddTag to Packet::AddByteTag</li>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   184
  <li>Packet::FindFirstMatchingTag to Packet::FindFirstMatchingByteTag</li>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   185
  <li>Packet::RemoveAllTags to Packet::RemoveAllByteTags</li>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   186
  <li>Packet::PrintTags to Packet::PrintByteTags</li>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   187
  <li>Packet::GetTagIterator to Packet::GetByteTagIterator</li>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   188
  </ul>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   189
</li>
07d34c0d8d18 new tags
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4475
diff changeset
   190
4505
e865dbc1d157 merge with HEAD
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4492 4502
diff changeset
   191
<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
   192
<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
   193
<pre>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   194
-  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
   195
+         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
   196
-  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
   197
+         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
   198
-  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
   199
+         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
   200
-  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
   201
+         void EnablePcap (std::string filename, NetDeviceContainer d);
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   202
-  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
   203
+         void EnablePcap (std::string filename, NodeContainer n);
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   204
-  static void EnablePcapAll (std::string filename);
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   205
+         void EnablePcapAll (std::string filename);
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   206
</pre>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   207
</p>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   208
</li>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   209
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   210
<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
   211
<p> 
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   212
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
   213
<pre>
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   214
-  void NotifyPromiscSniff (Ptr&lt;const Packet&gt; packet);
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   215
+  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
   216
+  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
   217
-  TracedCallback&lt;Ptr&lt;const Packet&gt; &gt; m_phyPromiscSnifferTrace;
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   218
+  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
   219
+  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
   220
</pre>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   221
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
   222
<pre>
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   223
+  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
   224
</pre>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   225
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
   226
</p>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   227
</li>
3ebeb7bf3c15 added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents: 4475
diff changeset
   228
4475
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   229
<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
   230
<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
   231
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
   232
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
   233
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
   234
(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
   235
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
   236
protocol):
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   237
<pre>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   238
-  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
   239
+  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
   240
+  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
   241
</pre>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   242
</li>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   243
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   244
<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
   245
<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
   246
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
   247
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
   248
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
   249
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
   250
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
   251
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
   252
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
   253
<pre>
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   254
-  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
   255
+  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
   256
+  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
   257
+  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
   258
+  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
   259
-  virtual bool RequestInterface (Ipv4Address destination, uint32_t&amp; interface) = 0;
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   260
+  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
   261
-  virtual bool RequestRoute (uint32_t interface,
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   262
-                            const Ipv4Header &amp;ipHeader,
4475
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   263
-                            Ptr&lt;Packet&gt; packet,
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   264
-                            RouteReplyCallback routeReply) = 0;
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   265
+  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
   266
+                             UnicastForwardCallback ucb, MulticastForwardCallback mcb,
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   267
+                             LocalDeliverCallback lcb, ErrorCallback ecb) = 0;
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   268
</pre>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   269
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   270
</li>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   271
<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
   272
those same names added</b>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   273
<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
   274
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
   275
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
   276
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
   277
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
   278
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
   279
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
   280
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
   281
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   282
<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
   283
<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
   284
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
   285
<pre>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   286
-  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
   287
-  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
   288
+  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
   289
+  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
   290
-  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
   291
+  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
   292
-  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
   293
-  virtual bool GetInterfaceForDestination (Ipv4Address dest,
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   294
-  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
   295
</pre>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   296
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   297
<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
   298
<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
   299
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
   300
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
   301
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   302
<pre>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   303
- 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
   304
- 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
   305
</pre>
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   306
a232dcbbe7a8 api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents: 4426
diff changeset
   307
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   308
<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
   309
<p>All function parameters named "ifIndex" that refer 
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   310
to an Ipv4 interface are instead named "interface".
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   311
<pre>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   312
- static const uint32_t Ipv4RoutingProtocol::IF_INDEX_ANY = 0xffffffff;
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   313
+ static const uint32_t Ipv4RoutingProtocol::INTERFACE_ANY = 0xffffffff;
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   314
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   315
- bool Ipv4RoutingProtocol::RequestIfIndex (Ipv4Address destination, uint32_t&amp; ifIndex);
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   316
+ bool Ipv4RoutingProtocol::RequestInterface (Ipv4Address destination, uint32_t&amp; interface);
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   317
(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
   318
proposed IPv4 routing refactoring)
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   319
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   320
- uint32_t Ipv4::GetIfIndexByAddress (Ipv4Address addr, Ipv4Mask mask);
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   321
+ int_32t Ipv4::GetInterfaceForAddress (Ipv4Address address, Ipv4Mask mask) const;
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   322
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   323
- bool Ipv4::GetIfIndexForDestination (Ipv4Address dest, uint32_t &amp;ifIndex) const;
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   324
+ bool Ipv4::GetInterfaceForDestination (Ipv4Address dest, uint32_t &amp;interface) const;
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   325
(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
   326
</pre>
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   327
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   328
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   329
<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
   330
  <ul>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   331
  <li> Add class Ipv4InterfaceAddress:  
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   332
  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
   333
  broadcast address, scope, whether primary or secondary, etc.
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   334
  <pre>
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   335
+  virtual uint32_t AddAddress (uint32_t interface, Ipv4InterfaceAddress address) = 0;
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   336
+  virtual Ipv4InterfaceAddress GetAddress (uint32_t interface, uint32_t addressIndex) const = 0;
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   337
+  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
   338
  </pre>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   339
  <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
   340
  using the public Ipv4 class interface (e.g.):
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   341
  <pre>
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   342
  ipv4A-&gt;SetAddress (ifIndexA, Ipv4Address ("172.16.1.1"));
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   343
  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
   344
  </pre>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   345
  you now do:
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   346
  <pre>
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   347
  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
   348
  ipv4A-&gt;AddAddress (ifIndexA, ipv4IfAddrA);
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   349
  </pre>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   350
  <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
   351
  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
   352
  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
   353
  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
   354
  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
   355
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   356
  <pre>
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   357
Ipv4Address Ipv4InterfaceContainer::GetAddress (uint32_t i)
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   358
+ 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
   359
  </pre>
4413
4726838efe7c Added API changes for wifi helpers
Mirko Banchi <mk.banchi@gmail.com>
parents: 4385
diff changeset
   360
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   361
  </ul>
4413
4726838efe7c Added API changes for wifi helpers
Mirko Banchi <mk.banchi@gmail.com>
parents: 4385
diff changeset
   362
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   363
<li><b>New WifiMacHelper objects</b>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   364
<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
   365
  <pre>
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   366
- 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
   367
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   368
- NetDeviceContainer WifiHelper::Install (const WifiPhyHelper &amp;phyHelper, NodeContainer c) const
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   369
+ 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
   370
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   371
- 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
   372
+ 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
   373
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   374
- 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
   375
+ 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
   376
  </pre>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   377
  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
   378
  </p>
4413
4726838efe7c Added API changes for wifi helpers
Mirko Banchi <mk.banchi@gmail.com>
parents: 4385
diff changeset
   379
4426
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   380
<li><b>Remove Mac48Address::IsMulticast</b>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   381
  <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
   382
  </li>
c8dd5497e809 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 4413
diff changeset
   383
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   384
</ul>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   386
<h2>Changed behavior:</h2>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   387
<ul>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   388
</ul>
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   389
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   390
<hr>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   391
<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
   392
4385
1114152c44dd update CHANGES.html
Tom Henderson <tomh@tomh.org>
parents: 4305
diff changeset
   393
<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
   394
<ul>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   395
<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
   396
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
   397
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
   398
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
   399
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
   400
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   401
<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
   402
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
   403
</ul>
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
   404
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   405
<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
   406
<ul>
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   407
<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
   408
4301
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
   409
<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
   410
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
   411
<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
   412
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   413
<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
   414
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   415
<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
   416
src/devices/tap-bridge)</li>
4266
7b0c4017bc36 Update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 4260
diff changeset
   417
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   418
<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
   419
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
   420
4301
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
   421
<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
   422
</ul>
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
   423
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   424
<h2>Changes to existing API:</h2>
4266
7b0c4017bc36 Update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 4260
diff changeset
   425
7b0c4017bc36 Update CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 4260
diff changeset
   426
<ul>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   427
<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
   428
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
   429
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
   430
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   431
<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
   432
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
   433
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
   434
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
   435
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
   436
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
   437
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
   438
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
   439
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
   440
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
   441
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   442
<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
   443
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
   444
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   445
<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
   446
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
   447
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   448
<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
   449
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
   450
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   451
<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
   452
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
   453
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   454
<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
   455
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   456
<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
   457
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
   458
</ul>
29587ce02a57 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3982
diff changeset
   459
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   460
<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
   461
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
   462
<ul>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   463
<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
   464
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
   465
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
   466
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
   467
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
   468
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
   469
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
   470
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
   471
</ul>
f1c83e54e541 Update CHANGES for ns-3.4 from hg log
Craig Dowell <craigdo@ee.washington.edu>
parents: 4266
diff changeset
   472
4260
29587ce02a57 update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3982
diff changeset
   473
<hr>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   474
<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
   475
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   476
<h2>New API:</h2>
3865
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   477
<ul>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   478
<li>
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   479
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
   480
Config::MatchContainer
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   481
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
   482
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
   483
NetDevice::IsBridge () 
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   484
</li>
3865
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   485
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   486
<li>17-11-2008; changeset 
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   487
<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
   488
<ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   489
<li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   490
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
   491
made public.
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   492
</li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   493
</ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   494
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   495
<li>17-11-2008; changeset 
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   496
<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
   497
<ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   498
<li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   499
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
   500
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
   501
</li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   502
</ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   503
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   504
<li>17-11-2008; changeset 
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   505
<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
   506
<ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   507
<li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   508
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
   509
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
   510
</li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   511
</ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   512
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   513
</ul>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   514
<h2>Changes to existing API:</h2>
3865
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   515
<ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   516
3982
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
   517
<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
   518
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
   519
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
   520
<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
   521
<ul>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
   522
<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
   523
<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
   524
</ul>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
   525
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
   526
<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
   527
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
   528
<ul>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
   529
<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
   530
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
   531
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
   532
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
   533
<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
   534
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
   535
<ul>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
   536
<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
   537
<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
   538
<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
   539
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
   540
<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
   541
<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
   542
<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
   543
<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
   544
<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
   545
<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
   546
</ul>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
   547
</ul>
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
   548
3865
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   549
<li>17-11-2008; changeset 
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   550
<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
   551
<ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   552
<li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   553
Change attribute "RxErrorModel" to "ReceiveErrorModel" in CsmaNetDevice for 
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   554
consistency between devices.
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   555
</li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   556
</ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   557
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   558
</ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   559
<h2>changed behavior:</h2>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   560
<ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   561
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   562
<li>17-11-2008; changeset 
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   563
<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
   564
<ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   565
<li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   566
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
   567
assignment of /32 addresses.
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   568
</li>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   569
</ul>
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   570
3949
016c554c4f6d CHANGES.html for global routing supporting bridges
Craig Dowell <craigdo@ee.washington.edu>
parents: 3865
diff changeset
   571
<li>17-11-2008; changeset 
016c554c4f6d CHANGES.html for global routing supporting bridges
Craig Dowell <craigdo@ee.washington.edu>
parents: 3865
diff changeset
   572
<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
   573
<ul>
016c554c4f6d CHANGES.html for global routing supporting bridges
Craig Dowell <craigdo@ee.washington.edu>
parents: 3865
diff changeset
   574
<li>
016c554c4f6d CHANGES.html for global routing supporting bridges
Craig Dowell <craigdo@ee.washington.edu>
parents: 3865
diff changeset
   575
Global routing supports bridge devices.
016c554c4f6d CHANGES.html for global routing supporting bridges
Craig Dowell <craigdo@ee.washington.edu>
parents: 3865
diff changeset
   576
</li>
016c554c4f6d CHANGES.html for global routing supporting bridges
Craig Dowell <craigdo@ee.washington.edu>
parents: 3865
diff changeset
   577
</ul>
3982
4f370a1b637c add some things to release notes and changes.html; revise README
Tom Henderson <tomh@tomh.org>
parents: 3949
diff changeset
   578
</ul>
3949
016c554c4f6d CHANGES.html for global routing supporting bridges
Craig Dowell <craigdo@ee.washington.edu>
parents: 3865
diff changeset
   579
3865
6647bcafbf3f overdue changes to CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3686
diff changeset
   580
<hr>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   581
<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
   582
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   583
<h2>New API:</h2>
3686
9e2dde61057c fix formatting
Tom Henderson <tomh@tomh.org>
parents: 3667
diff changeset
   584
<ul>
3593
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
   585
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
   586
<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
   587
<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
   588
<ul>
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
   589
<li>
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
   590
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
   591
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
   592
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
   593
</li>
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
   594
</ul>
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
   595
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
   596
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
   597
<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
   598
<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
   599
<ul>
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
   600
<li>
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
   601
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
   602
multithreaded simulator implementation.
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
   603
</li>
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
   604
</ul>
dfd634417b8d update AUTHORS, CHANGES, RELEASE_NOTES for ns-3.2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3551
diff changeset
   605
3686
9e2dde61057c fix formatting
Tom Henderson <tomh@tomh.org>
parents: 3667
diff changeset
   606
</ul>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   607
<h2>New API in existing classes:</h2>
3686
9e2dde61057c fix formatting
Tom Henderson <tomh@tomh.org>
parents: 3667
diff changeset
   608
<ul>
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   609
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   610
<li>01-08-2008; changeset 
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   611
<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
   612
<ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   613
<li>class ArpCache has two new attributes:  MaxRetries 
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   614
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
   615
mostly for internal use.
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   616
</ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   617
</li>
3686
9e2dde61057c fix formatting
Tom Henderson <tomh@tomh.org>
parents: 3667
diff changeset
   618
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   619
</ul>
4305
9ec113d84cc8 prettify CHANGES and add behavior changed section for ns-3.4
Craig Dowell <craigdo@ee.washington.edu>
parents: 4301
diff changeset
   620
<h2>Changes to existing API:</h2>
3686
9e2dde61057c fix formatting
Tom Henderson <tomh@tomh.org>
parents: 3667
diff changeset
   621
<ul>
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   622
3667
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
   623
<li>05-09-2008; changeset 
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
   624
<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
   625
<ul>
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
   626
<li>
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
   627
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
   628
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
   629
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
   630
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
   631
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
   632
PointToPointNetDevice::SetFrameSize for a detailed description.
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
   633
</li>
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
   634
</ul>
ba90a28f8c59 prep for ns-3.2-RC2
Craig Dowell <craigdo@ee.washington.edu>
parents: 3645
diff changeset
   635
3551
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   636
<li>25-08-2008; changeset 
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   637
<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
   638
<ul>
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   639
<li>
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   640
bug 273: constify packet pointers.<br>
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   641
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
   642
have been changed from:
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   643
<pre>
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   644
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
   645
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
   646
         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
   647
</pre>
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   648
to:
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   649
<pre>
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   650
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
   651
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
   652
         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
   653
</pre>
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   654
to avoid the kind of bugs reported in 
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   655
<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
   656
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
   657
of their SetReceiveCallback and SetPromiscReceiveCallback methods.
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   658
</li>
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   659
</ul>
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   660
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   661
3508
7a3c6148c22d actually use CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3505
diff changeset
   662
<li>04-08-2008; changeset 
7a3c6148c22d actually use CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3505
diff changeset
   663
<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
   664
<ul>
7a3c6148c22d actually use CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3505
diff changeset
   665
<li>
3551
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   666
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
   667
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
   668
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
   669
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
   670
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
   671
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
   672
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
   673
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
   674
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
   675
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
   676
issues and solution.
7a3c6148c22d actually use CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3505
diff changeset
   677
</li>
7a3c6148c22d actually use CHANGES.html
Craig Dowell <craigdo@ee.washington.edu>
parents: 3505
diff changeset
   678
</ul>
3551
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   679
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   680
<li>21-07-2008; changeset 
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   681
<a href="
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   682
http://code.nsnam.org/ns-3-dev/rev/99698bc858e8">99698bc858e8</a></li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   683
<ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   684
<li> class NetDevice has added a pure virtual method that
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   685
must be implemented by all subclasses:
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   686
<pre>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   687
virtual void SetPromiscReceiveCallback (PromiscReceiveCallback cb) = 0;
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   688
</pre>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   689
All NetDevices must support this method, and must call this callback
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   690
when processing packets in the receive direction (the appropriate place
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   691
to call this is device-dependent).  An approach to stub this out
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   692
temporarily, if you do not care about immediately enabling this
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   693
functionality, would be to add this to your device:
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   694
<pre>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   695
void
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   696
ExampleNetDevice::SetPromiscReceiveCallback
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   697
(NetDevice::PromiscReceiveCallback cb)
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   698
{ 
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   699
  NS_ASSERT_MSG (false, "No implementation yet for
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   700
SetPromiscReceiveCallback");
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   701
}
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   702
</pre>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   703
To implement this properly, consult the CsmaNetDevice for examples of
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   704
when the m_promiscRxCallback is called.
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   705
</li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   706
</ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   707
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   708
<li>03-07-2008; changeset 
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   709
<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
   710
<ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   711
<li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   712
Miscellaneous cleanup of Udp Helper API, to fix bug 234
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   713
<pre>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   714
class UdpEchoServerHelper
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   715
{
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   716
public:
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   717
- UdpEchoServerHelper ();
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   718
- void SetPort (uint16_t port); 
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   719
+ UdpEchoServerHelper (uint16_t port);
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   720
+ 
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   721
+ void SetAttribute (std::string name, const AttributeValue &amp;value);
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   722
ApplicationContainer Install (NodeContainer c);
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   723
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   724
class UdpEchoClientHelper
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   725
{
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   726
public:
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   727
- UdpEchoClientHelper ();
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   728
+ UdpEchoClientHelper (Ipv4Address ip, uint16_t port);
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   729
- void SetRemote (Ipv4Address ip, uint16_t port);
4639
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   730
- void SetAppAttribute (std::string name, const AttributeValue &amp;value);
34e6d141c227 escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents: 4629
diff changeset
   731
+ void SetAttribute (std::string name, const AttributeValue &amp;value);
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   732
ApplicationContainer Install (NodeContainer c);
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   733
</pre>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   734
</li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   735
</ul>
3551
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   736
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   737
<li>03-07-2008; changeset 
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   738
<a href="
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   739
http://code.nsnam.org/ns-3-dev/rev/3cdd9d60f7c7">3cdd9d60f7c7</a></li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   740
<ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   741
<li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   742
Rename all instances method names using "Set..Parameter" to "Set..Attribute"
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   743
(bug 232)
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   744
</li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   745
<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
   746
"Set...Parameter()" should be changed to read "Set...Attribute()".  e.g.
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   747
<pre>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   748
- csma.SetChannelParameter ("DataRate", DataRateValue (5000000));
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   749
- csma.SetChannelParameter ("Delay", TimeValue (MilliSeconds (2)));
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   750
+ csma.SetChannelAttribute ("DataRate", DataRateValue (5000000));
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   751
+ csma.SetChannelAttribute ("Delay", TimeValue (MilliSeconds (2)));
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   752
</pre>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   753
</li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   754
</ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   755
</li>
3686
9e2dde61057c fix formatting
Tom Henderson <tomh@tomh.org>
parents: 3667
diff changeset
   756
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   757
</ul>
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>Changed behavior:</h2>
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   759
<ul>
3645
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   760
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   761
<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
   762
<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
   763
<ul>
3686
9e2dde61057c fix formatting
Tom Henderson <tomh@tomh.org>
parents: 3667
diff changeset
   764
3645
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   765
<li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   766
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
   767
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
   768
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
   769
<ul>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   770
<li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   771
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
   772
</li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   773
<li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   774
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
   775
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
   776
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
   777
window
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   778
</li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   779
<li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   780
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
   781
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
   782
buffer.
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   783
</li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   784
<li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   785
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
   786
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
   787
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
   788
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
   789
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
   790
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
   791
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
   792
</li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   793
</ul>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   794
See 
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   795
<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
   796
more.
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   797
</li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   798
</ul>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   799
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   800
<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
   801
<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
   802
<ul>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   803
<li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   804
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
   805
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
   806
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
   807
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
   808
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
   809
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
   810
<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
   811
more.
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   812
</li>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   813
</ul>
5a0182408867 Update CHANGES.html to reflect the last two changesets
Raj Bhattacharjea <raj.b@gatech.edu>
parents: 3593
diff changeset
   814
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   815
<li> 28-07-2008; changeset 
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   816
<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
   817
<ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   818
<li>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   819
OLSR: HELLO messages hold time changed to 3*hello
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   820
interval from hello interval.  This is an important bug fix as
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   821
hold time == refresh time was never intentional, as it leads to
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   822
instability in neighbor detection.
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   823
</ul>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   824
</li>
3686
9e2dde61057c fix formatting
Tom Henderson <tomh@tomh.org>
parents: 3667
diff changeset
   825
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   826
</ul>
3551
fbf628eb3ca6 document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3508
diff changeset
   827
3505
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   828
</body>
16005bad2e0b Add CHANGES.html
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
   829
</html>