You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGES.html
+25-21Lines changed: 25 additions & 21 deletions
Original file line number
Diff line number
Diff line change
@@ -62,43 +62,44 @@ <h2>New API:</h2>
62
62
<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>
63
63
<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>
64
64
<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>
67
67
<li>Added a new helper method to WifiPhyHelper to disable the preamble detection model.</li>
68
68
<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>
72
76
</ul>
73
77
<h2>Changes to existing API:</h2>
74
78
<ul>
75
79
<li>
76
-
Added the possibility of setting the z coordinate for many
Added the possibility of setting the z coordinate for many position-allocation classes: <b>GridPositionAllocator, RandomRectanglePositionAllocator, RandomDiscPositionAllocator, UniformDiscPositionAllocator</b>.
80
81
</li>
81
82
<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>.
84
85
</li>
85
86
<li>
86
87
It is now possible to know the size of the SpectrumValue underlying std::vector, as well as
87
88
accessing read-only every element of it.
88
89
</li>
89
90
<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.
91
92
</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.
93
94
</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.
95
96
</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.
97
98
</li>
98
99
</ul>
99
100
<h2>Changes to build system:</h2>
100
101
<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.
102
103
</li>
103
104
<li>Waf upgraded from 2.0.9 to 2.0.18.
104
105
</li>
@@ -108,9 +109,10 @@ <h2>Changes to build system:</h2>
108
109
<h2>Changed behavior:</h2>
109
110
<ul>
110
111
<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>
114
116
<ul>
115
117
<li>SGW, PGW and MME are full nodes.</li>
116
118
<li>There are P2P links between core network nodes.</li>
@@ -125,11 +127,13 @@ <h2>Changed behavior:</h2>
125
127
<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>
126
128
</ul>
127
129
</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>
129
133
<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>
130
134
<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.
131
135
</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:
133
137
<ul>
134
138
<li> The UE RRC state will not remain in "CONNECTED_NORMALLY" state if the DL control channel SINR is below a set threshold.</li>
135
139
<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>
This release is intended to work on systems with the following minimal
22
23
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
23
27
24
28
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
26
40
27
41
New user-visible features
28
42
-------------------------
43
+
- (core) ShowProgress object can be used to report on simulation execution
29
44
- (wifi) Preamble detection can now be modelled and is enabled by default.
30
45
- (wifi) 802.11ax spatial reuse is now supported.
31
46
- (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.
32
51
33
52
Bugs fixed
34
53
----------
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:
35
57
58
+
- Bug 2339 - lte: Use only the active RBs for uplink PSD computation
36
59
- Bug 2460 - wifi: Refactor detection thresholds in WifiPhy and add a new sensitivity threshold to throw away weak signals
37
60
- 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
40
62
- Bug 2860 - mobility: Set Z coordinate for position-allocation classes
63
+
- Bug 2861 - lte: Forward TXOPs to the RLCs of SCCs
41
64
- 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
0 commit comments