60 <ul> |
60 <ul> |
61 <li>Ipv4ClickRouting::SetDefines(), accessible through ClickInternetStackHelper::SetDefines(), for the user to set Click defines from the ns-3 simulation file.</li> |
61 <li>Ipv4ClickRouting::SetDefines(), accessible through ClickInternetStackHelper::SetDefines(), for the user to set Click defines from the ns-3 simulation file.</li> |
62 <li>SIMCLICK_GET_RANDOM_INT click-to-simulator command for ns-3 to drive Click's random number generation.</li> |
62 <li>SIMCLICK_GET_RANDOM_INT click-to-simulator command for ns-3 to drive Click's random number generation.</li> |
63 </ul> |
63 </ul> |
64 </li> |
64 </li> |
65 </ul> |
|
66 <ul> |
|
67 <li>LTE module |
65 <li>LTE module |
68 <ul> |
66 <ul> |
69 <li> New user-visible LTE API |
67 <li> New user-visible LTE API |
70 <ul> |
68 <ul> |
71 <li>Two new methods have been added to LteHelper to enable the X2-based handover functionality: AddX2Interface, which setups the X2 interface between two eNBs, and HandoverRequest, which is a convenience method that schedules an explicit handover event to be executed at a given point in the simulation. </li> |
69 <li>Two new methods have been added to LteHelper to enable the X2-based handover functionality: AddX2Interface, which setups the X2 interface between two eNBs, and HandoverRequest, which is a convenience method that schedules an explicit handover event to be executed at a given point in the simulation. </li> |
83 LteInterferencePowerChunkProcessor</li> |
81 LteInterferencePowerChunkProcessor</li> |
84 </ul> |
82 </ul> |
85 </li> |
83 </li> |
86 </ul> |
84 </ul> |
87 </li> |
85 </li> |
88 <li>New Tag, PacketSocketTag, to carry the dest address of a packet and the packet type</li> |
86 <li>New DSR API |
|
87 <ul> |
|
88 <li>Added PassiveBuffer class to save maintenance packet entry for passive acknowledgment option</li> |
|
89 <li>Added FindSourceEntry function in RreqTable class to keep track of route request entry received from same source node</li> |
|
90 <li>Added NotifyDataReciept function in DsrRouting class to notify the data receipt of the next hop from link layer. This is used for the link layer acknowledgment.</li> |
|
91 </ul> |
|
92 </li> |
|
93 <li>New Tag, PacketSocketTag, to carry the destination address of a packet and the packet type</li> |
89 <li>New Tag, DeviceNameTag, to carry the ns3 device name from where a packet is coming</li> |
94 <li>New Tag, DeviceNameTag, to carry the ns3 device name from where a packet is coming</li> |
90 <li>New Error Model, BurstError model, to determine which bursts of packets are errored corresponding to an underlying distribution, burst rate, and burst size</li> |
95 <li>New Error Model, BurstError model, to determine which bursts of packets are errored corresponding to an underlying distribution, burst rate, and burst size</li> |
91 <li>To make the API more uniform across the various |
|
92 PropagationLossModel classes, the Set/GetLambda methods of the |
|
93 FriisPropagationLossModel and TwoRayGroundPropagationLossModel |
|
94 classes have been changed to Set/GetFrequency, and now a Frequency |
|
95 attribute is exported which replaces the pre-existing Lambda |
|
96 attribute. Any previous user code setting a value for Lambda should |
|
97 be changed to set instead a value of Frequency = C / Lambda, with C |
|
98 = 299792458.0. </li> |
|
99 </ul> |
96 </ul> |
100 |
97 |
101 <h2>Changes to existing API:</h2> |
98 <h2>Changes to existing API:</h2> |
102 <ul> |
99 <ul> |
103 <li>ns3::Object and subclasses DoStart has been renamed to DoInitialize</li> |
100 <li>ns3::Object and subclasses DoStart has been renamed to DoInitialize</li> |
106 <li>A typo was fixed in an LTE variable name. The variable ns3::AllocationRetentionPriority::preemprionVulnerability was changed to preemptionVulnerability.</li> |
103 <li>A typo was fixed in an LTE variable name. The variable ns3::AllocationRetentionPriority::preemprionVulnerability was changed to preemptionVulnerability.</li> |
107 <li>Changes in TestCase API |
104 <li>Changes in TestCase API |
108 <ul> |
105 <ul> |
109 <li>TestCase has new enumeration TestDuration containing QUICK, EXTENSIVE, TAKES_FOREVER</li> |
106 <li>TestCase has new enumeration TestDuration containing QUICK, EXTENSIVE, TAKES_FOREVER</li> |
110 <li>TestCase constructor now requires TestDuration, old constructor marked deprecated</li> |
107 <li>TestCase constructor now requires TestDuration, old constructor marked deprecated</li> |
111 </ul> |
|
112 </li> |
|
113 <li>Changes in DSR API |
|
114 <ul> |
|
115 <li>DsrMainHelper removed methods SetRouteCache and SetRreqTable</li> |
|
116 <li>MaintainBuffer removed method FindMaintainEntry</li> |
|
117 <li>DsrOptionRreqHeader removed methods (Set/Get)DataLength and SearchNextHop</li> |
|
118 <li>DsrOptions added methods ReverseSearchNextTwoHop, Process</li> |
|
119 <li>RouteCache removed methods GetDestination, DropPathWithDst and IsEqual</li> |
|
120 <li>DsrRouting added (Set/Get) PassiveBuffer</li> |
|
121 <li>DsrRouting added methods FindSourceEntry, PassiveEntryCheck and CancelPassiveTimer</li> |
|
122 <li>DsrRouting removed methods SendRequestAndIncrement, GetNodeWithAddress and GetExtensionNumber</li> |
|
123 <li>struct SourceRreqEntry removed. |
|
124 <li>new class SourceRreqEntry: The request entry for intermediate nodes to check if they have received this request or not. This is used to control the duplication request from being processed</li> |
|
125 <li>RreqTable added method FindSourceEntry</li> |
|
126 </ul> |
108 </ul> |
127 </li> |
109 </li> |
128 <li>Changes in LTE API |
110 <li>Changes in LTE API |
129 <ul> |
111 <ul> |
130 <li> User-visible LTE API |
112 <li> User-visible LTE API |
171 <li>LteUePhySapProvider removed methods SetBandwidth, SetTransmissionMode, SetSrsConfigurationIndex</li> |
153 <li>LteUePhySapProvider removed methods SetBandwidth, SetTransmissionMode, SetSrsConfigurationIndex</li> |
172 <li>LteUePhySapProvider added method SendRachPreamble</li> |
154 <li>LteUePhySapProvider added method SendRachPreamble</li> |
173 </li> |
155 </li> |
174 </ul> |
156 </ul> |
175 <li>AnimationInterface method EnableIpv4RouteTracking returns reference to calling AnimationInterface object</li> |
157 <li>AnimationInterface method EnableIpv4RouteTracking returns reference to calling AnimationInterface object</li> |
176 |
158 <li>To make the API more uniform across the various |
|
159 PropagationLossModel classes, the Set/GetLambda methods of the |
|
160 FriisPropagationLossModel and TwoRayGroundPropagationLossModel |
|
161 classes have been changed to Set/GetFrequency, and now a Frequency |
|
162 attribute is exported which replaces the pre-existing Lambda |
|
163 attribute. Any previous user code setting a value for Lambda should |
|
164 be changed to set instead a value of Frequency = C / Lambda, with C |
|
165 = 299792458.0. </li> |
177 |
166 |
178 </ul> |
167 </ul> |
179 <h2>Changes to build system:</h2> |
168 <h2>Changes to build system:</h2> |
180 <ul> |
169 <ul> |
181 <li>Waf shipped with ns-3 has been upgraded to version 1.7.10 and custom |
170 <li>Waf shipped with ns-3 has been upgraded to version 1.7.10 and custom |
183 </li> |
172 </li> |
184 </ul> |
173 </ul> |
185 |
174 |
186 <h2>Changed behavior:</h2> |
175 <h2>Changed behavior:</h2> |
187 <ul> |
176 <ul> |
188 <li></li> |
177 <li>DSR link layer notification has changed. The model originally used |
|
178 "TxErrHeader" in Ptr<WifiMac> to indicate the transmission |
|
179 error of a specific packet in link layer; however, it was not working |
|
180 correctly. The model now uses a different path to implement |
|
181 the link layer notification mechanism; specifically, looking into the |
|
182 trace file to find packet receive events. If the model finds one |
|
183 receive event for the data packet, it is used as the indicator for |
|
184 successful data delivery.</li> |
189 </ul> |
185 </ul> |
190 |
186 |
191 <hr> |
187 <hr> |
192 <h1>Changes from ns-3.15 to ns-3.16</h1> |
188 <h1>Changes from ns-3.15 to ns-3.16</h1> |
193 |
189 |