Skip to content

Commit 74ec793

Browse files
committed
Update CHANGES.html and RELEASE_NOTES
1 parent c73facd commit 74ec793

File tree

2 files changed

+109
-29
lines changed

2 files changed

+109
-29
lines changed

CHANGES.html

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -62,43 +62,44 @@ <h2>New API:</h2>
6262
<li>New attributes <b>QosTxop::AddBaResponseTimeout</b> and <b>QosTxop::FailedAddBaTimeout</b> have been added to set the timeout to wait for an ADDBA response after the ACK to the ADDBA request is received and to set the timeout after a failed BA agreement, respectively.</li>
6363
<li>A new attribute <b>QosTxop::UseExpliciteBarAfterMissedBlockAck</b> has been added to specify whether explicit Block Ack Request should be sent upon missed Block Ack Response.</li>
6464
<li>Added a new trace source <b>EndOfHePreamble</b> in WifiPhy for tracing end of preamble (after training fields) for received 802.11ax packets.</li>
65-
<li>Added a new helper method to SpectrumWifiPhyHelper and YansWifiPhyHelper to set the frame capture model.</li>
66-
<li>Added a new helper method to SpectrumWifiPhyHelper and YansWifiPhyHelper to set the preamble detection model.</li>
65+
<li>Added a new helper method to SpectrumWifiPhyHelper and YansWifiPhyHelper to set the <b>frame capture model</b>.</li>
66+
<li>Added a new helper method to SpectrumWifiPhyHelper and YansWifiPhyHelper to set the <b>preamble detection model</b>.</li>
6767
<li>Added a new helper method to WifiPhyHelper to disable the preamble detection model.</li>
6868
<li>Added a method to ObjectFactory to check whether a TypeId has been configured on the factory.</li>
69-
<li>Added a new helper method to WifiHelper to set the 802.11ax OBSS PD spatial reuse algorithm.</li>
70-
<li>Added the Cobalt queuing discipline.</li>
71-
</ul>
69+
<li>Added a new helper method to WifiHelper to set the <b>802.11ax OBSS PD spatial reuse algorithm</b>.</li>
70+
<li>Added the <b>Cobalt queuing discipline</b>.</li>
71+
<li>Added <b>Simulator::GetEventCount ()</b> to return the number of events executed.</li>
72+
<li>Added <b>ShowProgress</b> object to display simulation progress statistics.</li>
73+
<li>Add option to disable explicit Block Ack Request when a Block Ack Response is missed.</li>
74+
<li>Add API to be able to tag a subset of bytes in an ns3::Packet.</li>
75+
<li>New LTE helper API has been added to allow users to configure LTE backhaul links with any link technology, not just point-to-point links.</li>
7276
</ul>
7377
<h2>Changes to existing API:</h2>
7478
<ul>
7579
<li>
76-
Added the possibility of setting the z coordinate for many
77-
position-allocation classes: GridPositionAllocator,
78-
RandomRectanglePositionAllocator, RandomDiscPositionAllocator,
79-
UniformDiscPositionAllocator.
80+
Added the possibility of setting the z coordinate for many position-allocation classes: <b>GridPositionAllocator, RandomRectanglePositionAllocator, RandomDiscPositionAllocator, UniformDiscPositionAllocator</b>.
8081
</li>
8182
<li>
82-
The WifiPhy attribute "CcaMode1Threshold" has been renamed to "CcaEdThreshold",
83-
and the WifiPhy attribute "EnergyDetectionThreshold" has been replaced by a new attribute called "RxSensitivity"
83+
The WifiPhy attribute <b>CcaMode1Threshold</b> has been renamed to <b>CcaEdThreshold</b>,
84+
and the WifiPhy attribute <b>EnergyDetectionThreshold</b> has been replaced by a new attribute called <b>RxSensitivity</b>.
8485
</li>
8586
<li>
8687
It is now possible to know the size of the SpectrumValue underlying std::vector, as well as
8788
accessing read-only every element of it.
8889
</li>
8990
<li>
90-
The GetClosestSide method of the Rectangle class returns the correct closest side also for positions outside the rectangle.
91+
The <b>GetClosestSide</b> method of the Rectangle class returns the correct closest side also for positions outside the rectangle.
9192
</li>
92-
<li> The trace sources BackoffTrace and CwTrace were moved from class QosTxop to base class Txop, allowing these values to be traced for DCF operation. In addition, the trace signature for BackoffTrace was changed from TracedValue to TracedCallback (callback taking one argument instead of two). Most users of CwTrace for QosTxop configurations will not need to change existing programs, but users of BackoffTrace will need to adjust the callback signature to match.
93+
<li> The trace sources <b>BackoffTrace</b> and <b>CwTrace</b> were moved from class QosTxop to base class Txop, allowing these values to be traced for DCF operation. In addition, the trace signature for BackoffTrace was changed from TracedValue to TracedCallback (callback taking one argument instead of two). Most users of CwTrace for QosTxop configurations will not need to change existing programs, but users of BackoffTrace will need to adjust the callback signature to match.
9394
</li>
94-
<li> A new buffer has been introduced in the LteEnbRrc class. This buffer will be used by a target eNB during handover to buffer the packets comming from a source eNB on X2 inteface. The target eNB will buffer this data until it receives RRC Connection Reconfiguration Complete from a UE.
95+
<li> New trace sources, namely <b>DrbCreated, Srb1Created and DrbCreated</b> have beed implemented in LteEnbRrc and LteUeRrc classes repectively. These new traces are used to improve the connection of the RLC and PDCP stats in the RadioBearerStatsConnector API.
9596
</li>
96-
<li> New trace sources, namely DrbCreated, Srb1Created and DrbCreated have beed implemented in LteEnbRrc and LteUeRrc classes repectively. These new traces are used to improve the connection of the RLC and PDCP stats in the RadioBearerStatsConnector API.
97+
<li> <b>TraceFadingLossModel</b> has been moved from lte to spectrum module.
9798
</li>
9899
</ul>
99100
<h2>Changes to build system:</h2>
100101
<ul>
101-
<li>ns-3 now only supports Python 3. Use of Python 2 can be forced using the --with-python option provided to './waf configure', and may still work for many cases, but is no longer supported. Waf does not default to Python 3 but the ns-3 wscript will default the build to Python 3.
102+
<li><b>ns-3 now only supports Python 3</b>. Use of Python 2 can be forced using the --with-python option provided to './waf configure', and may still work for many cases, but is no longer supported. Waf does not default to Python 3 but the ns-3 wscript will default the build to Python 3.
102103
</li>
103104
<li>Waf upgraded from 2.0.9 to 2.0.18.
104105
</li>
@@ -108,9 +109,10 @@ <h2>Changes to build system:</h2>
108109
<h2>Changed behavior:</h2>
109110
<ul>
110111
<li>The wifi ADDBA handshake process is now protected with the use of two timeouts who makes sure we do not end up in a blocked situation. If the handshake process is not established, packets that are in the queue are sent as normal MPDUs. Once handshake is successfully established, A-MPDUs can be transmitted.</li>
111-
<li> In the wifi module, the default value of the <b>Margin</b> attribute in SimpleFrameCaptureModel was changed from 10 to 5.</li>
112-
<li> A ThresholdPreambleDetectionModel is added by default to the WifiPhy. Using default values, this model will discard frames that fall below either -82 dBm RSSI or below 4 dB SNR. Users may notice that weak wifi signals that were successfully received based on the error model alone (in previous ns-3 releases) are no longer received. Previous behavior can be obtained by lowering both threshold values or by removing the preamble detection model (via WifiPhyHelper::DisablePreambleDetectionModel()).</li>
113-
<li>LTE/EPC model has been enhanced with the new features. These new features allow the simulation user to test more realistic simulations related to the core network. These features are:</li>
112+
<li> In the wifi module, the default value of the <b>Margin</b> attribute in SimpleFrameCaptureModel was changed from 10 to 5 dB.</li>
113+
<li> A <b>ThresholdPreambleDetectionModel</b> is added by default to the WifiPhy. Using default values, this model will discard frames that fall below either -82 dBm RSSI or below 4 dB SNR. Users may notice that weak wifi signals that were successfully received based on the error model alone (in previous ns-3 releases) are no longer received. Previous behavior can be obtained by lowering both threshold values or by removing the preamble detection model (via WifiPhyHelper::DisablePreambleDetectionModel()).</li>
114+
<li>The PHY model for Wi-Fi has been extended to handle reception of L-SIG and reception of non-legacy header differently.</li>
115+
<li>LTE/EPC model has been enhanced to allow the simulation user to test more realistic topologies related to the core network:</li>
114116
<ul>
115117
<li>SGW, PGW and MME are full nodes.</li>
116118
<li>There are P2P links between core network nodes.</li>
@@ -125,11 +127,13 @@ <h2>Changed behavior:</h2>
125127
<li>New InitialContextSetupRequest primitive of the S1 SAP that is received by the eNB RRC when the S1 signalling from the core network is finished.</li>
126128
</ul>
127129
</li>
128-
<li> The default qdisc installed on single-queue devices (such as PointToPoint, Csma and Simple) is now FqCodel (instead of PfifoFast). On multi-queue devices (such as Wifi), the default root qdisc is now Mq with as many FqCoDel child qdiscs as the number of device queues. The new defaults are motivated by the willingness to align with the behavior of major Linux distributions and by the need to preserve the effectiveness of Wifi EDCA Functions in differentiating Access Categories (see issue #35).</li>
130+
<li> A new buffer has been introduced in the LteEnbRrc class. This buffer will be used by a target eNB during handover to buffer the packets comming from a source eNB on X2 inteface. The target eNB will buffer this data until it receives RRC Connection Reconfiguration Complete from a UE.
131+
</li>
132+
<li> The default qdisc installed on single-queue devices (such as PointToPoint, Csma and Simple) is now <b>FqCoDel</b> (instead of PfifoFast). On multi-queue devices (such as Wifi), the default root qdisc is now <b>Mq</b> with as many FqCoDel child qdiscs as the number of device queues. The new defaults are motivated by the willingness to align with the behavior of major Linux distributions and by the need to preserve the effectiveness of Wifi EDCA Functions in differentiating Access Categories (see issue #35).</li>
129133
<li>LTE RLC TM mode does not report anymore the layer-to-layer delay, as it misses (by standard) an header to which attach the timestamp tag. Users can switch to the PDCP layer delay measurements, which must be the same.</li>
130134
<li> Token Bank Fair Queue Scheduler (ns3::FdTbfqFfMacScheduler) will not anymore schedule a UE, which does not have any RBG left after removng the RBG from its allocation map if the computed TB size is greater than the "budget" computed in the scheduler.
131135
</li>
132-
<li> LTE module now supports the Radio Link Failure (RLF) functionality. This implementation introduced following key behavioral changes:
136+
<li> LTE module now supports the <b>Radio Link Failure (RLF)</b> functionality. This implementation introduced following key behavioral changes:
133137
<ul>
134138
<li> The UE RRC state will not remain in "CONNECTED_NORMALLY" state if the DL control channel SINR is below a set threshold.</li>
135139
<li> The LTE RRC protocol APIs of UE i.e., LteUeRrcProtocolIdeal, LteUeRrcProtocolReal have been extended to send an ideal (i.e., using SAPs instead to transmitting over the air) UE context remove request to the eNB. Similarly, the eNB RRC protocol APIs, i.e, LteEnbRrcProtocolIdeal and LteEnbRrcProtocolReal have been extended to receive this ideal UE context remove request.</li>

RELEASE_NOTES

Lines changed: 84 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,47 +9,123 @@ http://www.nsnam.org including tutorials: http://www.nsnam.org/tutorials.html
99
Consult the file CHANGES.html for more detailed information about changed
1010
API and behavior across ns-3 releases.
1111

12-
Release 3-dev
13-
=============
12+
Release 3.30
13+
============
1414

1515
Availability
1616
------------
17-
This release is not yet available.
17+
This release is available from:
18+
https://www.nsnam.org/release/ns-allinone-3.30.tar.bz2
1819

1920
Supported platforms
2021
-------------------
2122
This release is intended to work on systems with the following minimal
2223
requirements (Note: not all features available on all platforms):
24+
- g++-4.9 or later
25+
- Xcode 10.1 or later
26+
- Python 3.5 or later
2327

2428
Starting with ns-3.30, Python 3 will be the only supported Python version,
25-
and scripts will default to Python 3 usage.
29+
and scripts will default to Python 3 usage. Python 2.7 may continue to work
30+
in the near term.
31+
32+
This release has been tested on the following systems:
33+
- Fedora 30 with g++-9.1.1
34+
- Ubuntu 19.04 with g++-8.3.0
35+
- Ubuntu 18.04 with g++-7.4.0
36+
- Ubuntu 16.04.6 with g++-5.4.0
37+
- Linux Mint 19 Tara with g++-7.3.0
38+
- macOS 10.14.6 (Mojave) with Xcode 10.3
39+
- macOS 10.13.6 (High Sierra) with Xcode 10.1
2640

2741
New user-visible features
2842
-------------------------
43+
- (core) ShowProgress object can be used to report on simulation execution
2944
- (wifi) Preamble detection can now be modelled and is enabled by default.
3045
- (wifi) 802.11ax spatial reuse is now supported.
3146
- (lte) Radio Link Failure (RLF) functionality is now supported.
47+
- (lte) LTE/EPC model enhanced with new features: SGW, PGW, MME are full nodes; new S5 interface between SGW and PGW, allows simulations with multiple SGW/PGW
48+
- (lte) LTE eNB RRC extended to support improved S1 signalling model
49+
- (lte) Backhaul links can now use any link technology, not just point-to-point
50+
- (traffic-control) Cobalt queue disc model has been added.
3251

3352
Bugs fixed
3453
----------
54+
During this release cycle, the project transitioned from a Bugzilla issue
55+
tracker to a GitLab.com issue tracker. Bugs fixed from the Bugzilla tracker
56+
include:
3557

58+
- Bug 2339 - lte: Use only the active RBs for uplink PSD computation
3659
- Bug 2460 - wifi: Refactor detection thresholds in WifiPhy and add a new sensitivity threshold to throw away weak signals
3760
- Bug 2470 - wifi: Handshake to setup the Block Ack Agreement is not protected
38-
- Bug 2992 - lte: Send method of the LteUeNetDevice doesn't use protocolNumber parameter
39-
- Bug 2997 - lte: EpcTft::PacketFilter::Matches does not use ipv6 address to match an IP packet
61+
- Bug 2637 - build: macOS SDK headers in non-standard place
4062
- Bug 2860 - mobility: Set Z coordinate for position-allocation classes
63+
- Bug 2861 - lte: Forward TXOPs to the RLCs of SCCs
4164
- Bug 2893 - lte: GetPgw in helper should be const
65+
- Bug 2979 - lte: Remove unused code from UE RRC and UE CCM
66+
- Bug 2980 - lte: Reset MAC and PHY of secondary carriers upon handover
67+
- Bug 2982 - lte: Configure UE MAC SAP LteMacSapUser properly
68+
- Bug 2988 - lte: Correction in L3 filtering formula used for UL power control
69+
- Bug 2990 - internet: IPv6 packet shouldn't be marked with SocketIpTtlTag
70+
- Bug 2992 - lte: Send method of the LteUeNetDevice doesn't use protocolNumber parameter
71+
- Bug 2993 - build: Waf --enable-sudo option broken
72+
- Bug 2997 - lte: EpcTft::PacketFilter::Matches does not use ipv6 address to match an IP packet
73+
- Bug 3007 - build: Boost library configuration in contrib
4274
- Bug 3027 - lte: S1 signalling is done before RRC connection establishment is finished
75+
76+
Bugs fixed from the GitLab.com issue tracker include:
77+
4378
- Issue #11 - mobility: Rectangle::GetClosestSide returns the correct side also for positions outside the rectangle
79+
- Issue #14 - build: Check file timestamps instead of hashes for changes
80+
- Issue #15 - build: Fix build erroneous order constraint warnings
4481
- Issue #27 - wifi: Re-compute the A-MPDU after an RTS/CTS exchange fails
4582
- Issue #28 - wifi: wifi error model: coded bits vs. data bits
83+
- Issue #30 - wifi: Sequence number wrap around in MacLow::ReceiveMpdu
4684
- Issue #32 - wifi: Example "rate-adaptation-distance.cc" fails.
4785
- Issue #33 - wifi: Issues with QosTxop::StartNextPacket
4886
- Issue #35 - wifi: Unexpected EDCA performance under virtual collisions for 802.11n
87+
- Issue #42 - wifi: Check configured capture window for capture
88+
- Issue #43 - core: Check if ObjectFactory has been configured
4989
- Issue #45 - wifi: Wi-Fi transmits frames outside BlockAck window
90+
- Issue #46 - internet: Export headers for transport protocol modularity
91+
- Issue #47 - core: Return non-const reference when a const Ptr is dereferenced
5092
- Issue #48 - wifi: Incorrect sequence comparison in BlockAckManager::NeedBarRetransmission
51-
- Issue #53 - Token Bank Fair Queue Scheduler is creating a transmit opportunity of 0 bytes
52-
- Issue #54 - RadioBearerStats are not correctly connected
93+
- Issue #53 - lte: Token Bank Fair Queue Scheduler is creating a transmit opportunity of 0 bytes
94+
- Issue #54 - lte: RadioBearerStats are not correctly connected
95+
- Issue #70 - visualizer: Update configuration of GooCanvas.CanvasEllipse
96+
- Merge request !19 - wifi: Rework MSDU and MPDU aggregation code
97+
- Merge request !22 - spectrum: Fix order of PHYs stored in MultiModelSpectrumChannel
98+
- Merge request !30 - lte: Fix PDU delivering at the edge of reordering window
99+
- Merge request !43 - traffic-control: Install FqCoDelQueueDisc by default
100+
- Merge request !55 - lte: Reset preamble transmission count before starting NC based RACH
101+
- Merge request !65 - tcp: Call BytesInFlight method before processing ack
102+
- Merge request !67 - wifi: Pass numbe of data bits instead of coded bits to error models
103+
- Merge request !85 - uan: Fix MAC address variable shadowing in subclasses
104+
105+
Other issues fixed:
106+
- core: Replace int64_t operator/(Time,Time) with exact int64x64_t version, add int64x64_t scaling.
107+
- core: Refactor LogTimePrinter, LogNodePrinter
108+
- energy: Update remaining energy even if simulation has finished
109+
- flow-monitor: Fix FlowMonitor::Stop () method
110+
- mobility: Allow AssignStreams after construction for SteadyStateRandomWaypointMobilityModel
111+
- lte: Add attribute to configure the periodicity of DL CQI reports
112+
- lte: Fix type of them_rapIdRntiMap key
113+
- lte: Various updates of the ComponentCarrier subclasses to accommodate NR
114+
- lte: Fix issue with use of packet tag in LTE PDCP and RLC by using byte tag
115+
- visualizer: Fix various issues with Python 3 and X server compatibility
116+
- wifi: Fix A-MPDU reception logic
117+
- wifi: Fix noise interference calculation
118+
- wifi: Do not allow S-MPDU transmission as long as ADDBA handshake not established
119+
- wifi: Fix frequencies for channels 54 and 126
120+
- wifi: Fix rate used to send Block Ack Request frames
121+
- wifi: Check that SSID in probe requests is either broadcast or corresponds to AP SSID
122+
- wifi: Do not call ReportDataFailed if retransmission not needed
123+
- wifi: Fix duplicate MPDUs sent in an A-MPDU when explicit BARs are disabled
124+
- wifi: Fix issues when MSDU lifetime is expired
125+
- wifi: Enforce capture window duration in frame capture model, and fix capture model for A-MPDU
126+
- wifi: Correct handling of timeout situations during block ack agreement setup
127+
- wifi: Return correct serialized size for AmpduTag
128+
- wifi: Fix incorrect channel width when HT, VHT, or HE STA received legacy PPDU
53129

54130
Known issues
55131
------------

0 commit comments

Comments
 (0)