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-- |
3505 | 1 |
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> |
2 |
<html> |
|
3 |
<head> |
|
4 |
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
|
5 |
<title>ns-3 Change Log</title> |
|
6 |
</head> |
|
7 |
<body> |
|
8 |
||
9 |
<h1> |
|
10 |
ns-3: API and model change history</h1> |
|
11 |
<!-- |
|
12 |
This ChangeLog is updated in the reverse order |
|
13 |
with the most recent changes coming first. Date format: DD-MM-YYYY |
|
14 |
--> |
|
15 |
<p> |
|
16 |
ns-3 is an evolving system and there will be API or behavioral changes |
|
17 |
from time to time. Users who try to use scripts or models across |
|
18 |
versions of ns-3 may encounter problems at compile time, run time, or |
|
19 |
may see the simulation output change. </p> |
|
20 |
<p> |
|
21 |
We have adopted the development policy that we are going to try to ease |
|
22 |
the impact of these changes on users by documenting these changes in a |
|
23 |
single place (this file), and not by providing a temporary or permanent |
|
24 |
backward-compatibility software layer. </p> |
|
25 |
<p> |
|
26 |
The goal is that users who encounter a problem when trying to use older |
|
27 |
code with newer code should be able to consult this file to find |
|
28 |
guidance as to how to fix the problem. For instance, if a method name |
|
29 |
or signature has changed, it should be stated what the new replacement |
|
30 |
name is. </p> |
|
31 |
<p> |
|
32 |
Note that users who upgrade the simulator across versions, or who work |
|
33 |
directly out of the development tree, may find that simulation output |
|
34 |
changes even when the compilation doesn't break, such as when a |
|
35 |
simulator default value is changed. Therefore, it is good practice for |
|
36 |
_anyone_ using code across multiple ns-3 releases to consult this file, |
|
37 |
as well as the RELEASE_NOTES, to understand what has changed over time. |
|
38 |
</p> |
|
39 |
<p> |
|
40 |
This file is a best-effort approach to solving this issue; we will do |
|
41 |
our best but can guarantee that there will be things that fall through |
|
42 |
the cracks, unfortunately. If you, as a user, can suggest improvements |
|
43 |
to this file based on your experience, please contribute a patch or drop |
|
44 |
us a note on ns-developers mailing list. </p> |
|
45 |
||
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 | 55 |
<li><b>Athstats</b> |
56 |
<p>New classes AthstatsWifiTraceSink and AthstatsHelper. |
|
57 |
</p> |
|
58 |
</li> |
|
59 |
<li><b>WifiRemoteStationManager </b> |
|
60 |
<p>New trace sources exported by WifiRemoteStationManager: MacTxRtsFailed, MacTxDataFailed, MacTxFinalRtsFailed and MacTxFinalDataFailed. |
|
61 |
</p> |
|
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 | 100 |
<h1>Changes from ns-3.4 to ns-3.5</h1> |
101 |
||
102 |
<h2>Changes to build system:</h2> |
|
103 |
<ul> |
|
104 |
</ul> |
|
105 |
||
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 | 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 | 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 | 121 |
|
122 |
<li> <b>packet tags</b> |
|
123 |
<p>class Packet now contains AddPacketTag, RemovePacketTag and PeekPacketTag |
|
124 |
which can be used to attach a tag to a packet, as opposed to the old |
|
125 |
AddTag method which attached a tag to a set of bytes. The main |
|
126 |
semantic difference is in how these tags behave in the presence of |
|
127 |
fragmentation and reassembly. |
|
128 |
</li> |
|
4505 | 129 |
|
4385 | 130 |
</ul> |
131 |
||
132 |
<h2>Changes to existing API:</h2> |
|
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 ()->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 | 181 |
<li> <b>packet byte tags renaming</b> |
182 |
<ul> |
|
183 |
<li>Packet::AddTag to Packet::AddByteTag</li> |
|
184 |
<li>Packet::FindFirstMatchingTag to Packet::FindFirstMatchingByteTag</li> |
|
185 |
<li>Packet::RemoveAllTags to Packet::RemoveAllByteTags</li> |
|
186 |
<li>Packet::PrintTags to Packet::PrintByteTags</li> |
|
187 |
<li>Packet::GetTagIterator to Packet::GetByteTagIterator</li> |
|
188 |
</ul> |
|
189 |
</li> |
|
190 |
||
4505 | 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<const Packet> packet); |
34e6d141c227
escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents:
4629
diff
changeset
|
215 |
+ void NotifyPromiscSniffRx (Ptr<const Packet> 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<const Packet> 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<Ptr<const Packet> > m_phyPromiscSnifferTrace; |
34e6d141c227
escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents:
4629
diff
changeset
|
218 |
+ TracedCallback<Ptr<const Packet>, uint16_t, uint32_t, bool, double, double> m_phyPromiscSniffRxTrace; |
34e6d141c227
escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents:
4629
diff
changeset
|
219 |
+ TracedCallback<Ptr<const Packet>, uint16_t, uint32_t, bool> 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<const Packet> 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<Ipv4RoutingProtocol> 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<Ipv4RoutingProtocol> routingProtocol) = 0; |
a232dcbbe7a8
api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents:
4426
diff
changeset
|
240 |
+ virtual Ptr<Ipv4RoutingProtocol> 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<void, bool, const Ipv4Route&, Ptr<Packet>, const Ipv4Header&> RouteReplyCallback; |
34e6d141c227
escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents:
4629
diff
changeset
|
255 |
+ typedef Callback<void, Ptr<Ipv4Route>, Ptr<const Packet>, const Ipv4Header &> UnicastForwardCallback; |
34e6d141c227
escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents:
4629
diff
changeset
|
256 |
+ typedef Callback<void, Ptr<Ipv4MulticastRoute>, Ptr<const Packet>, const Ipv4Header &> MulticastForwardCallback; |
34e6d141c227
escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents:
4629
diff
changeset
|
257 |
+ typedef Callback<void, Ptr<const Packet>, const Ipv4Header &, uint32_t > LocalDeliverCallback; |
34e6d141c227
escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents:
4629
diff
changeset
|
258 |
+ typedef Callback<void, Ptr<const Packet>, const Ipv4Header &> ErrorCallback; |
34e6d141c227
escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents:
4629
diff
changeset
|
259 |
- virtual bool RequestInterface (Ipv4Address destination, uint32_t& interface) = 0; |
34e6d141c227
escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents:
4629
diff
changeset
|
260 |
+ virtual Ptr<Ipv4Route> RouteOutput (Ptr<Packet> p, const Ipv4Header &header, uint32_t oif, Socket::SocketErrno &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 &ipHeader, |
4475
a232dcbbe7a8
api changes and release notes for IPv4 routing rework
Tom Henderson <tomh@tomh.org>
parents:
4426
diff
changeset
|
263 |
- Ptr<Packet> 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<const Packet> p, const Ipv4Header &header, Ptr<const NetDevice> 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<NetDevice> 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<const NetDevice> 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 | 310 |
to an Ipv4 interface are instead named "interface". |
311 |
<pre> |
|
312 |
- static const uint32_t Ipv4RoutingProtocol::IF_INDEX_ANY = 0xffffffff; |
|
313 |
+ static const uint32_t Ipv4RoutingProtocol::INTERFACE_ANY = 0xffffffff; |
|
314 |
||
4639
34e6d141c227
escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents:
4629
diff
changeset
|
315 |
- bool Ipv4RoutingProtocol::RequestIfIndex (Ipv4Address destination, uint32_t& ifIndex); |
34e6d141c227
escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents:
4629
diff
changeset
|
316 |
+ bool Ipv4RoutingProtocol::RequestInterface (Ipv4Address destination, uint32_t& interface); |
4385 | 317 |
(N.B. this particular function is planned to be renamed to RouteOutput() in the |
318 |
proposed IPv4 routing refactoring) |
|
319 |
||
320 |
- uint32_t Ipv4::GetIfIndexByAddress (Ipv4Address addr, Ipv4Mask mask); |
|
321 |
+ int_32t Ipv4::GetInterfaceForAddress (Ipv4Address address, Ipv4Mask mask) const; |
|
322 |
||
4639
34e6d141c227
escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents:
4629
diff
changeset
|
323 |
- bool Ipv4::GetIfIndexForDestination (Ipv4Address dest, uint32_t &ifIndex) const; |
34e6d141c227
escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents:
4629
diff
changeset
|
324 |
+ bool Ipv4::GetInterfaceForDestination (Ipv4Address dest, uint32_t &interface) const; |
4385 | 325 |
(N.B. this function is not needed in the proposed Ipv4 routing refactoring) |
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 | 335 |
+ virtual uint32_t AddAddress (uint32_t interface, Ipv4InterfaceAddress address) = 0; |
336 |
+ virtual Ipv4InterfaceAddress GetAddress (uint32_t interface, uint32_t addressIndex) const = 0; |
|
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->SetAddress (ifIndexA, Ipv4Address ("172.16.1.1")); |
34e6d141c227
escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents:
4629
diff
changeset
|
343 |
ipv4A->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 | 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->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 | 355 |
|
4426
c8dd5497e809
update CHANGES.html
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
4413
diff
changeset
|
356 |
<pre> |
4385 | 357 |
Ipv4Address Ipv4InterfaceContainer::GetAddress (uint32_t i) |
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 &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 &phyHelper, NodeContainer c) const |
34e6d141c227
escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents:
4629
diff
changeset
|
369 |
+ NetDeviceContainer WifiHelper::Install (const WifiPhyHelper &phyHelper, const WifiMacHelper &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 &phy, Ptr<Node> node) const |
34e6d141c227
escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents:
4629
diff
changeset
|
372 |
+ NetDeviceContainer WifiHelper::Install (const WifiPhyHelper &phy, const WifiMacHelper &mac, Ptr<Node> 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 &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 &phy, const WifiMacHelper &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 | 384 |
</ul> |
385 |
||
386 |
<h2>Changed behavior:</h2> |
|
387 |
<ul> |
|
388 |
</ul> |
|
389 |
||
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 | 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 | 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 | 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 | 608 |
<ul> |
3505 | 609 |
|
610 |
<li>01-08-2008; changeset |
|
611 |
<a href="http://code.nsnam.org/ns-3-dev/rev/a18520551cdf">a18520551cdf</a></li> |
|
612 |
<ul> |
|
613 |
<li>class ArpCache has two new attributes: MaxRetries |
|
614 |
and a Drop trace. It also has some new public methods but these are |
|
615 |
mostly for internal use. |
|
616 |
</ul> |
|
617 |
</li> |
|
3686 | 618 |
|
3505 | 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 | 621 |
<ul> |
3505 | 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<bool,Ptr<NetDevice>,Ptr<Packet>,uint16_t,const Address &> |
34e6d141c227
escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents:
4629
diff
changeset
|
645 |
Callback<bool,Ptr<NetDevice>, Ptr<Packet>, uint16_t, |
34e6d141c227
escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents:
4629
diff
changeset
|
646 |
const Address &, const Address &, enum PacketType > |
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<bool,Ptr<NetDevice>,Ptr<const Packet>,uint16_t,const Address &> |
34e6d141c227
escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents:
4629
diff
changeset
|
651 |
Callback<bool,Ptr<NetDevice>, Ptr<const Packet>, uint16_t, |
34e6d141c227
escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents:
4629
diff
changeset
|
652 |
const Address &, const Address &, enum PacketType > |
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 | 680 |
<li>21-07-2008; changeset |
681 |
<a href=" |
|
682 |
http://code.nsnam.org/ns-3-dev/rev/99698bc858e8">99698bc858e8</a></li> |
|
683 |
<ul> |
|
684 |
<li> class NetDevice has added a pure virtual method that |
|
685 |
must be implemented by all subclasses: |
|
686 |
<pre> |
|
687 |
virtual void SetPromiscReceiveCallback (PromiscReceiveCallback cb) = 0; |
|
688 |
</pre> |
|
689 |
All NetDevices must support this method, and must call this callback |
|
690 |
when processing packets in the receive direction (the appropriate place |
|
691 |
to call this is device-dependent). An approach to stub this out |
|
692 |
temporarily, if you do not care about immediately enabling this |
|
693 |
functionality, would be to add this to your device: |
|
694 |
<pre> |
|
695 |
void |
|
696 |
ExampleNetDevice::SetPromiscReceiveCallback |
|
697 |
(NetDevice::PromiscReceiveCallback cb) |
|
698 |
{ |
|
699 |
NS_ASSERT_MSG (false, "No implementation yet for |
|
700 |
SetPromiscReceiveCallback"); |
|
701 |
} |
|
702 |
</pre> |
|
703 |
To implement this properly, consult the CsmaNetDevice for examples of |
|
704 |
when the m_promiscRxCallback is called. |
|
705 |
</li> |
|
706 |
</ul> |
|
707 |
||
708 |
<li>03-07-2008; changeset |
|
709 |
<a href="http://code.nsnam.org/ns-3-dev/rev/d5f8e5fae1c6">d5f8e5fae1c6</a></li> |
|
710 |
<ul> |
|
711 |
<li> |
|
712 |
Miscellaneous cleanup of Udp Helper API, to fix bug 234 |
|
713 |
<pre> |
|
714 |
class UdpEchoServerHelper |
|
715 |
{ |
|
716 |
public: |
|
717 |
- UdpEchoServerHelper (); |
|
718 |
- void SetPort (uint16_t port); |
|
719 |
+ UdpEchoServerHelper (uint16_t port); |
|
720 |
+ |
|
4639
34e6d141c227
escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents:
4629
diff
changeset
|
721 |
+ void SetAttribute (std::string name, const AttributeValue &value); |
3505 | 722 |
ApplicationContainer Install (NodeContainer c); |
723 |
||
724 |
class UdpEchoClientHelper |
|
725 |
{ |
|
726 |
public: |
|
727 |
- UdpEchoClientHelper (); |
|
728 |
+ UdpEchoClientHelper (Ipv4Address ip, uint16_t port); |
|
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 &value); |
34e6d141c227
escape html special characters
Andrey Hippo<ahippo@yandex.ru>
parents:
4629
diff
changeset
|
731 |
+ void SetAttribute (std::string name, const AttributeValue &value); |
3505 | 732 |
ApplicationContainer Install (NodeContainer c); |
733 |
</pre> |
|
734 |
</li> |
|
735 |
</ul> |
|
3551
fbf628eb3ca6
document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3508
diff
changeset
|
736 |
|
3505 | 737 |
<li>03-07-2008; changeset |
738 |
<a href=" |
|
739 |
http://code.nsnam.org/ns-3-dev/rev/3cdd9d60f7c7">3cdd9d60f7c7</a></li> |
|
740 |
<ul> |
|
741 |
<li> |
|
742 |
Rename all instances method names using "Set..Parameter" to "Set..Attribute" |
|
743 |
(bug 232) |
|
744 |
</li> |
|
745 |
<li> How to fix your code: Any use of helper API that was using a method |
|
746 |
"Set...Parameter()" should be changed to read "Set...Attribute()". e.g. |
|
747 |
<pre> |
|
748 |
- csma.SetChannelParameter ("DataRate", DataRateValue (5000000)); |
|
749 |
- csma.SetChannelParameter ("Delay", TimeValue (MilliSeconds (2))); |
|
750 |
+ csma.SetChannelAttribute ("DataRate", DataRateValue (5000000)); |
|
751 |
+ csma.SetChannelAttribute ("Delay", TimeValue (MilliSeconds (2))); |
|
752 |
</pre> |
|
753 |
</li> |
|
754 |
</ul> |
|
755 |
</li> |
|
3686 | 756 |
|
3505 | 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 | 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 | 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 | 815 |
<li> 28-07-2008; changeset |
816 |
<a href="http://code.nsnam.org/ns-3-dev/rev/6f68f1044df1">6f68f1044df1</a> |
|
817 |
<ul> |
|
818 |
<li> |
|
819 |
OLSR: HELLO messages hold time changed to 3*hello |
|
820 |
interval from hello interval. This is an important bug fix as |
|
821 |
hold time == refresh time was never intentional, as it leads to |
|
822 |
instability in neighbor detection. |
|
823 |
</ul> |
|
824 |
</li> |
|
3686 | 825 |
|
3505 | 826 |
</ul> |
3551
fbf628eb3ca6
document API change
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3508
diff
changeset
|
827 |
|
3505 | 828 |
</body> |
829 |
</html> |