Update RELEASE_NOTES and CHANGES.html for ns-3.31
This commit is contained in:
39
CHANGES.html
39
CHANGES.html
@@ -54,6 +54,8 @@ us a note on ns-developers mailing list.</p>
|
||||
<h1>Changes from ns-3.30 to ns-3.31</h1>
|
||||
<h2>New API:</h2>
|
||||
<ul>
|
||||
<li> A <b>TCP DCTCP</b> model has been added.</li>
|
||||
<li> <b>3GPP TR 38.901</b> pathloss, channel condition, antenna array, and fast fading models have been added.</li>
|
||||
<li> New <b>...FailSafe ()</b> variants of the <b> Config </b> and <b>Config::MatchContainer</b> functions which set Attributes or connect TraceSources. These all return a boolean indicating if any attributes could be set (or trace sources connected). These are useful if you are not sure that the requested objects exist, for example in AnimationInterface.</li>
|
||||
<li> New attributes for <b> Ipv4L3Protocol</b> have been added to enable RFC 6621-based duplicate packet detection (DPD) (<b>EnableDuplicatePacketDetection</b>) and to control the cache expiration time (<b>DuplicateExpire</b>).</li>
|
||||
<li><b> MakeConsistent </b> method of <b> BuildingsHelper </b> class is
|
||||
@@ -65,22 +67,31 @@ Therefore, there is no need for an explicit call to <b> MakeConsistent </b> in a
|
||||
to make the mobility model of a moving node consistent.</li>
|
||||
<li> The <b> IsOutside </b> method of <b> MobilityBuildingInfo </b> class is
|
||||
deprecated. The <b> IsInside </b> method should be use to check the position of a node.</li>
|
||||
<li>A new abstract base class, WifiAckPolicySelector, is introduced to implement
|
||||
<li>A new abstract base class, <b>WifiAckPolicySelector</b>, is introduced to implement
|
||||
different techniques for selecting the acknowledgment policy for PSDUs containing
|
||||
QoS Data frames. Wifi, mesh and wave helpers provide a SetAckPolicySelectorForAc
|
||||
method to configure a specific ack policy selector for a given Access Category.</li>
|
||||
<li>The default ack policy selector is named ConstantWifiAckPolicySelector, which
|
||||
<ul>
|
||||
<li>The default ack policy selector is named <b>ConstantWifiAckPolicySelector</b>, which
|
||||
allows to choose between Block Ack policy and Implicit Block Ack Request policy and
|
||||
allows to request an acknowledgment after a configurable number of MPDUs have been
|
||||
transmitted.</li>
|
||||
<li>The MaxSize attribute is removed from the QueueBase base class and moved to subclasses. A new MaxSize attribute is therefore added to the DropTailQueue class, while the MaxQueueSize attribute of the WifiMacQueue class is renamed as MaxSize for API consistency.</li>
|
||||
<li> A new sequence and timestamp header variant for applications has been added. The SeqTsEchoHeader contains an additional timestamp field for use in echoing a timestamp back to a sender.</li>
|
||||
<li> TCP-based applications (OnOffApplication, BulkSendApplication, and PacketSink) support a new header to convey sequence number, timestamp, and size data. Use is controlled by the "EnableSeqTsSizeHeader" attribute.</li>
|
||||
</ul>
|
||||
<li>The <b>MaxSize</b> attribute is removed from the <b>QueueBase</b> base class and moved to subclasses. A new MaxSize attribute is therefore added to the DropTailQueue class, while the MaxQueueSize attribute of the WifiMacQueue class is renamed as MaxSize for API consistency.</li>
|
||||
<li> Two new <b>Application sequence number and timestamp</b> variants have been added, to support packet delivery tracing.
|
||||
<ul>
|
||||
<li> A new sequence and timestamp header variant for applications has been added. The <b>SeqTsEchoHeader</b> contains an additional timestamp field for use in echoing a timestamp back to a sender.</li>
|
||||
<li> TCP-based applications (OnOffApplication, BulkSendApplication, and PacketSink) support a new header, <b>SeqTsSizeHeader</b>, to convey sequence number, timestamp, and size data. Use is controlled by the "EnableSeqTsSizeHeader" attribute.</li>
|
||||
</ul>
|
||||
<li>Added a new trace source <b>PhyRxPayloadBegin</b> in WifiPhy for tracing begin of PSDU reception.</li>
|
||||
<li>Added the class <b>RandomWalk2dOutdoorMobilityModel</b> that models a random walk which does not enter any building.</li>
|
||||
<li>Added support for the <b>Cake set-associative hash</b> in the FqCoDel queue disc</li>
|
||||
<li>Added support for <b>ECN marking for CoDel and FqCoDel</b> queue discs</li>
|
||||
</ul>
|
||||
<h2>Changes to existing API:</h2>
|
||||
<ul>
|
||||
<li> The API for <b>enabling and disabling ECN</b> in TCP sockets has been refactored.</li>
|
||||
<li> The <b>LTE HARQ</b> related methods in LteEnbPhy and LteUePhy have been renamed, and the LteHelper updated.</li>
|
||||
<li> Previously the <b>Config::Connect</b> and <b>Config::Set</b> families of functions would fail silently if the attribute or trace source didn't exist on the path given (typically due to spelling errors). Now those functions will throw a fatal error. If you need the old behavior use the new <b>...FailSafe ()</b> variants.</li>
|
||||
<li>The internal TCP API for <b>TcpCongestionOps</b> has been extended to support the <b>CongControl</b> method to allow for delivery rate estimation feedback to the congestion control mechanism.</li>
|
||||
<li>Functions <b>LteEnbPhy::ReceiveUlHarqFeedback</b> and <b>LteUePhy::ReceiveLteDlHarqFeedback</b> are renamed to <b>LteEnbPhy::ReportUlHarqFeedback</b> and <b>LteUePhy::EnqueueDlHarqFeedback</b>, respectively to avoid confusion about their functionality. <b>LteHelper</b> is updated accordingly.</li>
|
||||
@@ -88,27 +99,35 @@ transmitted.</li>
|
||||
<li>The preferred way to declare instances of <b>CommandLine</b> is now through a macro: <b>COMMANDLINE (cmd)</b>. This enables us to add the <b>CommandLine::Usage()</b> message to the Doxygen for the program.</li>
|
||||
<li>New <b>...FailSafe ()</b> variants of the <b> Config </b> is used to connect PDCP TraceSources of eNB and UE in <b>RadioBearerStatsConnector</b> class. It is required for the simulations using RLC SM where PDCP objects are not created for data radio bearers.</li>
|
||||
<li><b>T310</b> timer in <b>LteUeRrc</b> class is stopped if the UE receives <b>RRCConnectionReconfiguration</b> including the <b>mobilityControlInfo</b>. This change is introduced following the 3GPP standard TS36331 sec 5.3.5.4.</li>
|
||||
<li>The wifi High Latency tags have been removed. They required quite some hacks and were not really needed. The only rate manager (Onoe) that was making use of them has been adjusted to get rid of them.</li>
|
||||
<li>The wifi MIMO diversity model has been changed to better fit with MRC theory for AWGN channels when STBC is not used (since STBC is currently not supported).</li>
|
||||
<li>The wifi <b>High Latency tags</b> have been removed. The only rate manager (Onoe) that was making use of them has been refactored.</li>
|
||||
<li>The wifi <b>MIMO diversity model</b> has been changed to better fit with MRC theory for AWGN channels when STBC is not used (since STBC is currently not supported).</li>
|
||||
<li> The <b>BuildingsHelper::MakeMobilityModelConsistent()</b> method is deprecated in favor of MobilityBuildingInfo::MakeConsistent</li>
|
||||
<li> The <b>MobilityBuildingInfo::IsOutdoor ()</b> method is deprecated; use the result of IsIndoor() method instead</li>
|
||||
<li> IsEqual() methods of class <b>Ipv4Address, Ipv4Mask, Ipv6Address, and Ipv6Prefix</b> are deprecated.</li>
|
||||
<li> The API around the <b>wifi Txop class</b> was refactored.</li>
|
||||
</ul>
|
||||
<h2>Changes to build system:</h2>
|
||||
<ul>
|
||||
<li>The <b>--lcov-report</b> option to Waf was fixed, and a new <b>--lcov-zerocounters</b> option was added to improve support for lcov.</li>
|
||||
<li>Python bindings were enabled for <b>netanim</b>.</li>
|
||||
</ul>
|
||||
<h2>Changed behavior:</h2>
|
||||
<ul>
|
||||
<li> Attempting to deserialize an enum name which wasn't registered with MakeEnumChecker now causes a fatal error, rather failing silently. (This can be triggered by setting an enum Attribute from a StringValue.)</li>
|
||||
<li> The <b>EmpiricalRandomVariable</b> no longer linearly interpolates between values by default, but instead will default to treating the CDF as a histogram and return one of the specific inputs. The previous interpolation mode can be configured by an attribute.</li>
|
||||
<li> (as reported above) previously the <b>Config::Connect</b> and <b>Config::Set</b> families of functions would fail silently if the attribute or trace source didn't exist on the path given (typically due to spelling errors). Now those functions will throw a fatal error. If you need the old behavior use the new <b>...FailSafe ()</b> variants.</li>
|
||||
<li> Attempting to deserialize an enum name which wasn't registered with <b>MakeEnumChecker</b> now causes a fatal error, rather failing silently. (This can be triggered by setting an enum Attribute from a StringValue.)</li>
|
||||
<li> As a result of the above API changes in <b> MobilityBuildingInfo </b>
|
||||
and <b> BuildingsHelper </b> classes, a building aware pathloss models, e.g.,
|
||||
<b> HybridBuildingsPropagationLossModel </b> is now able to accurately compute
|
||||
the pathloss for a node moving in and out of buildings in a simulation. See <a href=https://gitlab.com/nsnam/ns-3-dev/issues/80>issue 80</a>
|
||||
for discussion.</li>
|
||||
<li> The implementation of the wifi channel access functions has been improved
|
||||
to make them more adherent to the IEEE 802.11-2016 standard. Concerning the DCF,
|
||||
<li> The implementation of the <b>Wi-Fi channel access</b> functions has been improved
|
||||
to make them more conformant to the IEEE 802.11-2016 standard. Concerning the DCF,
|
||||
the backoff procedure is no longer invoked when a packet is queued for transmission
|
||||
and the medium has not been idle for a DIFS, but it is invoked if the medium is busy
|
||||
or does not remain idle for a DIFS after the packet has been queued. Concerning the
|
||||
EDCAF, tranmissions are now correctly aligned at slot boundaries.</li>
|
||||
<li> Various wifi physical layer behavior around channel occupancy calculation, phy state calculation, and handling different channel widths has been updated.</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
110
RELEASE_NOTES
110
RELEASE_NOTES
@@ -9,8 +9,8 @@ http://www.nsnam.org including tutorials: http://www.nsnam.org/tutorials.html
|
||||
Consult the file CHANGES.html for more detailed information about changed
|
||||
API and behavior across ns-3 releases.
|
||||
|
||||
Release 3-dev
|
||||
=============
|
||||
Release 3.31
|
||||
============
|
||||
|
||||
Availability
|
||||
------------
|
||||
@@ -18,43 +18,91 @@ This release is not yet available.
|
||||
|
||||
Supported platforms
|
||||
-------------------
|
||||
To be determined.
|
||||
This release is intended to work on systems with the following minimal
|
||||
requirements (Note: not all ns-3 features available on all systems):
|
||||
- g++-4.9 or later
|
||||
- Xcode 10.1 or later
|
||||
- Python 3.5 or later
|
||||
|
||||
Starting with ns-3.30, Python 3 has been the only supported Python version,
|
||||
and scripts default to Python 3 usage.
|
||||
|
||||
This release has been tested on the following systems:
|
||||
- Fedora 32 with g++-10.1.1 and Python 3.8.3
|
||||
- Fedora 32 with clang-10.0.0 and Python 3.8.3
|
||||
- Fedora 29 with g++-8.3.1 and Python 3.7.5
|
||||
- Ubuntu 20.04 with g++-9.3.0 and Python 3.8.2
|
||||
- Ubuntu 18.04 with g++-7.5.0 and Python 3.6.9
|
||||
- Ubuntu 16.04.6 with g++-5.4.0 and Python 3.5.2
|
||||
- macOS 10.15.3 (Catalina) with Xcode 11.3
|
||||
- macOS 10.13.6 (High Sierra) with Xcode 10.1
|
||||
|
||||
New user-visible features
|
||||
-------------------------
|
||||
- (antenna) Model for antenna arrays based on 3GPP model (part of Integration of the 3GPP TR 38.901 fast fading model)
|
||||
- (buildings) Random walk mobility model that does not allow nodes to enter buildings
|
||||
- (core) The CommandLine facility can now add the Usage message to the Doxygen for the program
|
||||
- (internet) TCP DCTCP model
|
||||
- (internet) An option to enable IPv4 hash-based multicast duplicate packet
|
||||
detection (DPD) based on RFC 6621 has been added.
|
||||
- (stats) A new interface to SQLite has been added.
|
||||
- (propagation) 3GPP TR 38.901 pathloss and channel condition models added
|
||||
- (spectrum) Addition three-gpp-channel-model (part of Integration of the 3GPP TR 38.901 fast fading model)
|
||||
- (antenna) Addition of three-gpp-antenna-array-model (part of Integration of the 3GPP TR 38.901 fast fading model)
|
||||
- (buildings) added a random walk mobility model which does not enter in any building
|
||||
- (core) CommandLine can now add the Usage message to the Doxygen for the program; see CommandLine for details.
|
||||
detection (DPD) based on RFC 6621
|
||||
- (lte) Trace sources for uplink PSD and RBs
|
||||
- (propagation) 3GPP TR 38.901 pathloss and channel condition models
|
||||
- (spectrum) Matrix-based channel model base class to support antenna arrays
|
||||
- (spectrum) 3GPP pathloss, channel and fast fading models
|
||||
- (stats) A new interface to SQLite
|
||||
- (tests) Capability to run an example program as a regression test
|
||||
- (traffic-control) Support for the Cake set-associative hash to the FqCoDel queue disc
|
||||
- (traffic-control) Support for ECN marking to CoDel and FqCoDel queue discs
|
||||
- (wifi) A Bianchi (saturation) example with a comparable MATLAB model
|
||||
- (wifi) The idealized wifi rate control includes better support for different MIMO modes and channel widths
|
||||
|
||||
Bugs fixed
|
||||
----------
|
||||
- core: Bug 143 EmpiricalRandomVariable should ensure that the CDF ends with 1.0
|
||||
- wifi: a zero value for the backoff timer might be discarded and a new value
|
||||
If available, the numbers below make reference to a Bugzilla bug number, GitLab
|
||||
issue number (prefixed by '#'), or GitLab merge request number (prefixed by '!')
|
||||
- (build system) #119 - Waf --lcov-report option was broken
|
||||
- (buildings) #80 - Update indoor/outdoor status of a moving node
|
||||
- (core) Bug 2725 - EmpiricalRandomVariable should not interpolate
|
||||
- (documentation) Bug 2636 - Add to doxygen a list of all registered TypeIds
|
||||
- (internet) - Fix Ipv6Prefix length calc and add explicit prefix length constructors
|
||||
- (internet) - IPv6 Duplicate Address Detection (DAD) must use Solicited-Node multicast address
|
||||
- (internet) #111 - Rip and RipNg don't receive unicast packets
|
||||
- (internet:tcp) - call NotifyConnectionFailed on SYN timeout
|
||||
- (internet:tcp) #179 - Avoid incorrect exit of LAST-ACK state
|
||||
- (internet:tcp) #182 - Fix SACK list cleaning in TcpOptionSack::Deserialize()
|
||||
- (internet:tcp) !156 - Enable entering CA_RECOVERY despite large sequence number increase
|
||||
- (internet:tcp) !157 - Prevent sending outside receiver window
|
||||
- (lr-wpan) #212 - Rx callback must have both source mac and pan id
|
||||
- (lr-wpan) !283 - Beacon collisions and timings
|
||||
- (lr-wpan) !326 - Inactive Periods Queue fix
|
||||
- (lte) #106 - Inconsistent imsi representation in LTE module
|
||||
- (lte) #196 - Remove LteSecondaryCellSelectionTestSuite from LTE module
|
||||
- (lte) #221 - Stop T310 upon receving handover command
|
||||
- (network) #216 - Correct the return value for PacketSocket::SendTo()
|
||||
- (network) !239 - Refactor DelayJitterEstimation to more closely follow RFC 1889 and RFC 3550
|
||||
- (propagation) !269 - Fix Okumura-Hata propagation loss model for frequency > 1.5 Ghz and medium or small city
|
||||
- (wifi) - Keep the medium busy if reception is aborted ahead of scheduled time
|
||||
- (wifi) - Fix frame capture when signals arrive at the exact same time and add additional tests to verify these cases
|
||||
- (wifi) - Fix MCS selection in ideal rate manager for cases with unbalanced MIMO settings and/or RX diversity
|
||||
- (wifi) - Fix SNR computations for MIMO
|
||||
- (wifi) - Fix ReportAmpduTxStatus called two times when BAR is explicitely sent upon missed BACK
|
||||
- (wifi) A zero value for the backoff timer might be discarded and a new value
|
||||
might be generated by an erroneous call to NotifyCollision().
|
||||
- Bug 2636 - Add to doxygen a list of all registered TypeIds
|
||||
- Bug 2928 - BlockAckManager::NeedBarRetransmission returns "true" infinitely
|
||||
- Bug 2985 - PhyTxEnd tracecallback not implemented
|
||||
- Bug 1909, Issue #41 - wifi: Implementation of ACK timeout
|
||||
- Issue #22 - wifi: Station long retry counter is incremented twice if BlockAck was not received
|
||||
- Issue #40 - IdealWifiManager not working if stations are moving
|
||||
- Issue #84 - Wi-Fi removing wrong header due to copy-paste error
|
||||
- Issue #94 - wifi retransmitted frames not marked as retransmits
|
||||
- Issue #107 - Wi-Fi: Frame capture model works incorrectly if two signals arrive at the same time
|
||||
- Issue #106 - Inconsistent imsi representation in LTE module
|
||||
- Issue #110 - Wi-Fi: PCAP trace file gives unexpected results
|
||||
- Issue #116 - Wi-Fi: Incorrect state when receiving A-MPDU in WifiPhy
|
||||
- Issue #119 - Waf --lcov-report option was broken
|
||||
- Issue #169 - Ideal rate manager does not work when non best-effort traffic is used
|
||||
- Issue #172 (Bug 3011) - wifi: MIMO error rate model is incorrect
|
||||
- Issue #178 (Bug 2385) - IdealWifiManager can pick invalid WifiTxVector under certain MIMO conditions
|
||||
- Issue #196 - Remove LteSecondaryCellSelectionTestSuite from LTE module
|
||||
- Issue #221 - T310 is not cancelled upon receiving handover command
|
||||
- MR !269 - Fix okumura-hata propagation loss model when m_frequency > 1.500e9 and city == Medium or Small
|
||||
- (wifi) Bug 1909, Issue #41 - Implementation of ACK timeout
|
||||
- (wifi) Bug 2385, Issue #178 - IdealWifiManager can pick invalid WifiTxVector under certain MIMO conditions
|
||||
- (wifi) Bug 2928 - BlockAckManager::NeedBarRetransmission returns "true" infinitely
|
||||
- (wifi) Bug 2985 - PhyTxEnd tracecallback not implemented
|
||||
- (wifi) Bug 3011, Issue #172 - MIMO error rate model is incorrect
|
||||
- (wifi) #22 - Station long retry counter is incremented twice if BlockAck was not received
|
||||
- (wifi) #40 - IdealWifiManager not working if stations are moving
|
||||
- (wifi) #84 - Wi-Fi removing wrong header due to copy-paste error
|
||||
- (wifi) #94 - Retransmitted frames not marked as retransmits
|
||||
- (wifi) #107 - Frame capture model works incorrectly if two signals arrive at the same time
|
||||
- (wifi) #110 - PCAP trace file gives unexpected results
|
||||
- (wifi) #116 - Incorrect state when receiving A-MPDU in WifiPhy
|
||||
- (wifi) #165 - Notify station manager when a BlockAck has not been received after the transmission of an A-MPDU
|
||||
- (wifi) #169 - Ideal rate manager does not work when non best-effort traffic is used
|
||||
- (wifi) #211 - Remove MSDUs with expired lifetime when (re)starting channel access
|
||||
|
||||
Known issues
|
||||
------------
|
||||
|
||||
Reference in New Issue
Block a user